在新版本的 Outlook 中使用 Interaction.CreateObject("Outlook.Application") 不起作用

问题描述 投票:0回答:1

我有一个 VB.Net 应用程序,它使用 Interaction.CreateObject("Outlook.Application") 通过 Outlook 发送电子邮件。在我客户的 IT 部门开始将 Outlook 版本 1.2024.111.100(客户端版本 20240119003.09)推送到用户的计算机之前,此功能一直运行良好。

此代码现在给出错误“无法创建 ActiveX 组件”。新版本的工作方式是否有一些根本性的区别?有更好的方法吗?

我现在不知道该尝试什么。我一直在做一些研究,但尚未找到任何解决方案。

vb.net outlook activex office-automation com-automation
1个回答
0
投票

首先,在创建新实例之前尝试获取一个正在运行的实例。例如,以下代码在创建新实例之前连接到正在运行的实例:

Set oApp = GetObject(, "Outlook.Application")    

If oApp Is Nothing Then
  Set oApp = CreateObject("Outlook.Application")
  oApp.GetNamespace("MAPI").GetDefaultFolder(6).Display
End If

请参阅确定现有 Outlook 实例是否打开以了解更多信息。

其次,请确保在尝试在代码中创建新的

Application
实例之前尚未运行任何 Outlook 进程。如果该进程在不同的安全上下文下启动,您的代码将无法自动化 Outlook,并且代码中始终会出现错误。在这种情况下,我们无能为力。您能做的最好的事情就是检查列表进程中是否有
outlook.exe
条目,并让用户知道 Outlook 已在运行并且您的应用程序无法连接到它。

© www.soinside.com 2019 - 2024. All rights reserved.