0
我正在将一些Outlook VBA \宏转换为加载项。 到目前为止,我没有很多运气将此代码传递给VS2015 w \ Office Dev Tools。Outlook VBA 宏转换为加载项
我创建了一个Ribbon \ group \按钮\我可以在Outlook中看到它,一切看起来不错,但我收到一个错误。
--ORIGINAL MACRO--
Sub Request()
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.Application.GetNamespace("MAPI")
Set objFolder = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders("Shared Documents")
Set myItem = objFolder.Items.Add("IPM.Note.Request")
myItem.Display
End Sub
我看到这组将不再允许所以他们都被定义。
这条线似乎是问题所在。 Session和\或GetDefaultFolder返回Null并导致运行时异常。
错误 - “System.NullReferenceException” -
objFolder = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders("Shared Documents")
从VS的建议是使用子“新”与其他几个人说似乎并不适用一起。
请帮忙。 :-) 似乎我得到了混合了VS错误解决建议的各种编程类型。
谢谢。克里斯
你可以检查它是Session还是GetDefaultFolder?如果它是Session,则可以尝试用myOlApp.Session替换上面的Session引用。 – DanL
好吧,我给了一个尝试,但我收到了同样的结果。在交换OlApp.Session后,我得到一个带下划线的“olPublicFoldersAllPublicFolders”--- objFolder = myOlApp.Session.GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders(“共享文档”)-----相同的空引用,我明白为什么它会是为空,因为在Outlook会话向程序提供路径之前未获取该值。 – CWB
为了清楚我在做什么:我试图打开一个存储在所有公共文件夹\共享文档\ FormName中的自定义窗体 - 宏做这个很好,但我希望它是一个附加组件,因此我可以将它作为一个包与其他可用的函数一起部署。 – CWB