-2

这个与 Outlook 相关的 Visual Basic 代码过去可以正常工作

Sub cmdExample()

    Dim myOlApp As Object
    Set myOlApp = CreateObject("Outlook.Application")
    Set myoSession = myOlApp.Session
    Set myoCalendar = myoSession.GetDefaultFolder(olFolderCalendar)
End Sub

现在我得到运行时错误 5(无效的过程调用或参数)

调试发现的原因:在运行时 olFolderCalendar 为空(顺便说一下,其他枚举如 olAppointmentItem、olBusy 也存在同样的问题)。我在上述代码中的解决方法是调用 .GetDefaultFolder(9)。

但是我宁愿使用枚举,我想了解为什么它们都是空的。

4

1 回答 1

0

如果要传递文字常量而不是数字,则需要向 Outlook 添加 COM 引用。在如何在 VBA 中添加对象库引用一文中阅读更多相关信息。

在此处输入图像描述

另外,您可以在获取文件夹之前尝试使用该Logon方法。有关详细信息,请参阅NameSpace.Logon

于 2020-06-16T18:44:51.487 回答