在我们的.xlsm公司,我使用“标准”宏通过Outlook发送电子邮件:
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问题是,除了一台电脑外,它在所有公司的电脑上都能工作。在这个问题上:
可能是什么原因?
发布于 2022-06-01 15:29:09
您的Excel应用程序必须在与正在运行的Outlook相同的安全上下文下运行,才能获得正在运行的实例。
如果在运行宏时打开Outlook,则在Set olMail = olApp.CreateItem(0)上返回错误'91‘(对象变量未设置)。
如果您以管理权限运行Excel,您需要运行Outlook以及管理特权,以便能够将它们连接在一起。
另外,您也可以尝试使用早期绑定技术,而不是后期绑定技术。为此,需要在Excel对话框中添加Outlook引用(请参阅VBA编辑器)。在自动化中使用早期绑定和后期绑定文章中阅读更多有关这方面的内容。
https://stackoverflow.com/questions/72460433
复制相似问题