【问题标题】:Word freezing when accessing Outlook VBA object model访问 Outlook VBA 对象模型时单词冻结
【发布时间】:2022-01-21 07:02:59
【问题描述】:

Office 365

word 中的 VBA 用于发送电子邮件。该代码已成功用于许多计算机,但在使用CreateObject 访问对象模型时,特别是在代码一开始就出现了单词冻结。如果 Outlook 处于打开状态,它可以正常工作,但关闭它会冻结,其他计算机在这两种情况下都可以正常工作。

Dim objOL          As Object
Dim objEmailItem   As Object

Set objOL = CreateObject("outlook.application")      '*** Freezing  ***
Set objEmailItem = objOL.createItem(varOlmailitem)

我尝试卸载office并重新安装它,停止杀毒软件,重新启动。

谢谢。

【问题讨论】:

  • 如果只有一台计算机,则很有可能需要完全卸载然后重新安装 Office。也可以尝试修复,比较快。
  • 当您尝试自动化时,Outlook.exe 是否仍会挂在内存中?您是否尝试在创建新的 Outlook 实例之前检查正在运行的进程列表?
  • Outlook.exe 挂在内存中。它在任务栏中也可见。请注意,这仅适用于一台运行 office365 的全新计算机。这个进程由代码创建并被指令 Set objOL = Nothing 杀死。

标签: vba outlook ms-word com-automation


【解决方案1】:

尝试使用早期绑定,首先需要设置对 Outlook 对象库的引用。使用 Visual Basic for Applications (VBA) 工具菜单上的引用命令设置对 Microsoft Outlook xx.x 对象库的引用,其中 xx.x 表示您正在使用的 Outlook 版本。然后,您可以使用以下语法启动 Outlook 会话。

Dim objOL as Outlook.Application 
Set objOL = New Outlook.Application

更多信息请参见Automating Outlook from a Visual Basic Application

【讨论】:

    猜你喜欢
    • 2017-11-17
    • 2014-01-07
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    相关资源
    最近更新 更多