eid*_*lon 8 outlook vba message outlook-vba
我正在寻找一种方法来永久删除带有VBA代码的Outlook 2000中的MailMessage.我想这样做,而不必做第二个循环来清空已删除的项目.
本质上,我正在寻找一个等同于点击消息和点击SHIFT+ 的UI方法的代码DELETE.
有这样的事吗?
76m*_*mel 12
尝试先移动它然后删除它(适用于2000年的某些补丁)或使用RDO或CDO为你完成工作(你必须安装它们)
Set objDeletedItem = objDeletedItem.Move(DeletedFolder)
objDeletedItem.Delete
Run Code Online (Sandbox Code Playgroud)
CDO方式
Set objCDOSession = CreateObject("MAPI.Session")
objCDOSession.Logon "", "", False, False
Set objMail = objCDOSession.GetMessage(objItem.EntryID, objItem.Parent.StoreID)
objMail.Delete
Run Code Online (Sandbox Code Playgroud)
set objRDOSession = CreateObject("Redemption.RDOSession")
objRDOSession.MAPIOBJECT = objItem.Session.MAPIOBJECT
set objMail = objRDOSession.GetMessageFromID(objItem.EntryID>)
objMail.Delete
Run Code Online (Sandbox Code Playgroud)
您还可以在删除邮件之前先将邮件标记,然后循环显示已删除邮件文件夹,然后再次将邮件删除.使用Userproperty标记它.
objMail.UserProperties.Add "Deleted", olText
objMail.Save
objMail.Delete
Run Code Online (Sandbox Code Playgroud)
循环浏览已删除的项目,查找该userprop
Set objDeletedFolder = myNameSpace.GetDefaultFolder(olFolderDeletedItems)
For Each objItem In objDeletedFolder.Items
Set objProperty = objItem.UserProperties.Find("Deleted")
If TypeName(objProperty) <> "Nothing" Then
objItem.Delete
End If
Next
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19179 次 |
最近记录: |