这段与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)。
然而,我宁愿使用枚举,我想了解为什么所有的枚举都是空的。
如果你想传递文字常量而不是数字,你需要向Outlook添加一个COM引用。阅读更多关于 如何在VBA中添加对象库引用 文章。
另外,你可以尝试使用 Logon
方法,然后再获取文件夹。参见 NameSpace.Logon 更多信息。