首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Excel ) Outlook应用程序CreateItem在某些情况下失败

(Excel ) Outlook应用程序CreateItem在某些情况下失败
EN

Stack Overflow用户
提问于 2022-06-01 10:40:38
回答 1查看 429关注 0票数 0

在我们的.xlsm公司,我使用“标准”宏通过Outlook发送电子邮件:

代码语言:javascript
复制
Dim olApp As Object, olMail As Object

On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
If olApp Is Nothing Then
    Set olApp = CreateObject("Outlook.Application")
End If
On Error GoTo 0
Set olMail = olApp.CreateItem(0)

With olMail
    'properties, methods, events
End With

问题是,除了一台电脑外,它在所有公司的电脑上都能工作。在这个问题上:

  • 如果Outlook客户端在运行宏时关闭,则一切正常;
  • 如果在运行宏时打开Outlook,则在Set olMail = olApp.CreateItem(0)上返回错误'91‘(对象变量未设置)。

可能是什么原因?

EN

回答 1

Stack Overflow用户

发布于 2022-06-01 15:29:09

您的Excel应用程序必须在与正在运行的Outlook相同的安全上下文下运行,才能获得正在运行的实例。

如果在运行宏时打开Outlook,则在Set olMail = olApp.CreateItem(0)上返回错误'91‘(对象变量未设置)。

如果您以管理权限运行Excel,您需要运行Outlook以及管理特权,以便能够将它们连接在一起。

另外,您也可以尝试使用早期绑定技术,而不是后期绑定技术。为此,需要在Excel对话框中添加Outlook引用(请参阅VBA编辑器)。在自动化中使用早期绑定和后期绑定文章中阅读更多有关这方面的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72460433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档