vba代码突然遇到枚举问题
vba code suddenly encounters problems with enumeration
这段与 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 引用。在 How to Add an Object Library Reference in VBA 文章中阅读更多相关信息。
另外,您可以尝试使用Logon
方法获取文件夹。有关详细信息,请参阅 NameSpace.Logon。
这段与 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 引用。在 How to Add an Object Library Reference in VBA 文章中阅读更多相关信息。
另外,您可以尝试使用Logon
方法获取文件夹。有关详细信息,请参阅 NameSpace.Logon。