Kyl*_*mes 8 mapi outlook vba exchange-server mailitem
注意:我正在使用VBA和Office 2007.(我会使用C#,但项目参数不允许这样做)
我试图在Outlook或API中找到一些方法,允许我通过从Access数据库提供Outlook EntryID或MAPI"PR_ENTRYID"属性来打开Outlook邮件项.我找到了许多对所述代码的引用,但我从未见过有人真正发布过一个解决方案.我试图包括对mapi32.dll和OLMAPI32.dll的引用,但是我收到以下错误:"无法添加对指定文件的引用." 我猜这是因为那些dll是用于.NET的.
您将给予的任何帮助将不胜感激.
Dmi*_*nko 21
使用Namespace.GetItemFromID.请注意,第二个参数(商店ID)是可选的.如果Outlook已触及有问题的商店在当前会话中,则可以省略它.如果没有,Outlook将引发"未知条目ID"异常.如果指定了商店条目ID,Outlook将首先打开它,并且商店提供商将有机会使用MAPI系统注册其条目ID.
set App = CreateObject("Outlook.Application")
set NS = App.GetNamespace("MAPI")
NS.Logon
set Msg = NS.GetItemFromID(EntryID)
MsgBox Msg.Subject
Run Code Online (Sandbox Code Playgroud)