【发布时间】:2017-07-13 14:04:17
【问题描述】:
我有一个旧版 VB6 应用程序,允许用户从应用程序本身发送电子邮件。
Dim outA As Outlook.Application
Set outA = New Outlook.Application
If outA Is Nothing = True Then
'Outlook is not open... so need to create a new outlook
Set outA = CreateObject("Outlook.Application")
End If
在 Windows 7 Office 2007 中可以正常工作。用户可以打开 Outlook,它可以正常工作。
在 Windows 10 Office 2016 中,此代码不起作用。它给了我一个错误
Set outA = New Outlook.Application.
如果 Outlook 未打开,则代码有效。如果 Outlook 打开,我只会收到此错误。
错误是……
ActiveX 无法创建对象错误 429。
我的计算机上有本地权限。
如果我将我的 VB6 .exe 显式打开为 ADMIN 并将 Outlook 也作为 ADMIN 打开 - 代码不会给我带来任何问题。
我禁用了 UAC 提示。
我不能授予用户管理员权限。
我是否缺少 dll 或其他什么?我还有几个在 Windows 7 中使用过的应用程序,我没有遇到过这个问题。
【问题讨论】:
-
我应该注意到我已经尝试过 - GetObject(,"Outlook.Application") - 同样的问题
标签: outlook windows-10 vb6