vba代码突然遇到枚举的问题。

问题描述 投票:-2回答:1

这段与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)。

然而,我宁愿使用枚举,我想了解为什么所有的枚举都是空的。

vba outlook outlook-vba enumeration is-empty
1个回答
0
投票

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

enter image description here

另外,你可以尝试使用 Logon 方法,然后再获取文件夹。参见 NameSpace.Logon 更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.