【发布时间】:2017-07-10 15:10:44
【问题描述】:
不确定为什么下面的代码不会从Deleted Items 文件夹中永久删除MailItem。
MailItem 肯定会在Deleted Items 文件夹中结束,但Delete 似乎什么也没做。如您所料,放置第二个Delete 会导致异常,因为它不存在。
我可以通过 Outlook 手动永久删除MailItem。
代码:
Dim oOLapp as Outlook.Application
Dim oMapi as Outlook.NameSpace
Dim oFolder as Outlook.Folder
Dim oMailItem as Outlook.MailItem
oOLapp = GetObject([Class]:="Outlook.Application")
oMapi = oOLapp.GetNameSpace("MAPI")
oFolder = oMapi.oFolders(oMapi.DefaultStore.Displayname).Folders("Deleted Items")
oMailItem = oOLapp.Session.OpenSharedItem("C:\sometestmail.msg")
oMailItem = oMailItem.Move(oFolder) ' Now in Deleted items Folder. Verified
' Do other stuff with email
' .
' .
' .
oMailItem.Delete()
oMailItem = nothing
【问题讨论】:
-
可能是因为删除就是这样做的...将其移至已删除的文件夹。如果您的前景设置为关闭时删除.. 当您关闭它时它们应该会消失。否则,他们会留在那里。
-
但是您可能想查看此链接vbforums.com/…