现在,我正在尝试将本地.msg文件(如C:\ temp \ DUMMY.msg)复制到我的Outlook文件夹(如AAA)中。 我可以使用MAPI获得AAA文件夹的entryID,但是我不知道如何使用VBA将本地.msg文件移动到Outlook Dir。 (在C#中,我找到了此问与答,但似乎不适用于VBA) Import .msg file to outlook custom folder using c#
有人知道怎么做吗?
我已经导入了下面编写的库。
我将目标Outlook文件夹obj分配给MyFolder。
如果argStrEntryID =“”然后 设置MyFolder = oApp.Session.GetDefaultFolder(olFolderInbox) 其他 设置MyFolder = oApp.Session.GetFolderFromID(argStrEntryID) 如果结束
答案 0 :(得分:0)
您可以使用Namespace.OpenSharedItem
指定MSG文件的标准文件名,然后复制(MailItem.Copy
)或移动它(MailItem.Move
)。
答案 1 :(得分:0)
正如德米特里(Dmitry)所述,我使用了Namespace.OpensharedItem并有效。
Dim Filename As String
Filename = "C:\temp\DUMMY.msg"
Dim DestOlDirID As String
DesOlDirID = "(entry id value)"
Dim oApp
Set oApp = CreateObject("Outlook.Application")
'Get Namespace object
Dim oNamespace As Namespace
Set oNamespace = oApp.GetNamespace("MAPI")
'assign outlook folder by entry ID
Dim oFolder As Folder
Set oFolder = oApp.Session.GetFolderFromID(DesOlDirID)
Dim oItem As Object
Set oItem = oNamespace.OpenSharedItem(Filename)
'actually this move method did not delete original .msg local file. it works like copy.
oItem.Move oFolder
Set oItem = Nothing
Set oFolder = Nothing
Set oNamespace = Nothing