Outlook检索COM类工厂时出错
我们有向outlook添加联系人的功能 我只想对正在运行的现有outlook进程执行此操作,如果未运行则打开此操作 我得到一个错误: 正在检索具有CLSID的组件的COM类工厂 {0006F03A-0000-0000-C000-0000000000 46}由于以下原因失败 错误:80080005服务器执行失败HRESULT异常: 0x80080005 CO_E_服务器_执行_失败。如果进程未运行 已经在运行了 注意:下面的方法被调用了2次 我的代码是:Outlook检索COM类工厂时出错,outlook,uac,com-automation,Outlook,Uac,Com Automation,我们有向outlook添加联系人的功能 我只想对正在运行的现有outlook进程执行此操作,如果未运行则打开此操作 我得到一个错误: 正在检索具有CLSID的组件的COM类工厂 {0006F03A-0000-0000-C000-0000000000 46}由于以下原因失败 错误:80080005服务器执行失败HRESULT异常: 0x80080005 CO_E_服务器_执行_失败。如果进程未运行 已经在运行了 注意:下面的方法被调用了2次 我的代码是: Private Sub InitObjec
Private Sub InitObject()
If (Process.GetProcessesByName("OUTLOOK").Count > 0) Then
objOutlook = DirectCast(Marshal.GetActiveObject("Outlook.Application"), Outlook.Application)
'If objOutlook Is Nothing Then
Else
objOutlook = New Outlook.Application()
End If
If objNamespace Is Nothing Then
objNamespace = objOutlook.GetNamespace("MAPI")
objNamespace.Logon("", "", False, False)
End If
If objFolder Is Nothing Then
objFolder = objNamespace.GetDefaultFolder(10)
End If
End Sub
我读了几篇关于这个的帖子,上面写着“管理员特权”等等。现在我运行的Visual Studio没有管理员权限。我很抱歉,在不使用Visual Studio的生产环境中也会出现此错误?您在有问题的PC上安装了什么Outlook版本?是Outlook 2010的Click2Run版吗 无论如何,我认为有两个可能的原因: 您已经在电脑上安装了Office 2010的Click2Run版本。事实上,Office 2010的Click2Run版本不支持自动化。有关更多信息,请参阅。你也可以找到这篇文章。 您的程序和MS Outlook必须以管理员身份或普通权限级别运行。他们应该享有同样的特权。你可能会发现这篇文章很有帮助。 请注意,Outlook是一个单独的组件。即,如果它已在运行,则在创建新的Outlook应用程序实例时,您将获得指向已在运行的实例的指针