【发布时间】:2019-09-21 05:42:27
【问题描述】:
我有一个 Outlook 规则,用于运行 VBA 脚本,但偶尔会遇到错误。我知道该脚本可以工作,因为我已将脚本作为 Public Sub 进行了测试。
我不知道为什么我的规则会遇到错误,因为没有针对 Outlook 规则失败的错误描述。作为一种解决方法,我决定通过从 Excel 调用 Outlook 脚本来运行它。
我收到的错误是:
运行时错误“438”。对象不支持此属性或方法。
我在 Excel 上的参考资料是:
- Visual Basic 应用程序
- Microsoft Excel 16.0 对象库
- OLE 自动化
- Microsoft Office 16.0 对象库
- Microsoft Outlook 16.0 对象库
Outlook 参考是:
- Visual Basic 应用程序
- Microsoft Outlook 16.0 对象库
- OLE 自动化
- Microsoft Office 16.0 对象库
- Microsoft Form 2.0 对象库
- Microsoft Excel 16.0 对象库
Excel 代码:
Public Sub testexcel()
Dim o As Outlook.Application
On Error Resume Next
Set o = GetObject("", "Outlook.Application")
Err.Clear: On error GoTo 0
If o Is Nothing then
Set o = CreateObject("Outlook.Application")
End If
With o
.Session.Logon
.Run "testoutlook" ' <--------- Error Line
End With
o.Close
o.Quit
Set o = Nothing
End Sub
Outlook 示例代码:
Public Sub testoutlook()
Call MsgBox("HellO")
End Sub
【问题讨论】: