[英]VBA to Perm Delete Outlook mail
我有以下代碼,可以很好地從收件箱中永久刪除郵件。 但是,當人們回復會議邀請時,我們會說該人已接受會議的那些郵件不會刪除。
當我單擊該郵件並運行此代碼時,它不會刪除嗎?
這是我正在使用的
Sub PermDelete(Item As Outlook.MailItem)
' First set a property to find it again later
Item.UserProperties.Add "Deleted", olText
Item.Save
Item.Delete
'Now go through the deleted folder, search for the property and delete item
Dim objDeletedFolder As Outlook.Folder
Dim objItem As Object
Dim objProperty As Variant
Set objDeletedFolder = Application.GetNamespace("MAPI"). _
GetDefaultFolder(olFolderDeletedItems)
For Each objItem In objDeletedFolder.items
Set objProperty = objItem.UserProperties.Find("Deleted")
If TypeName(objProperty) <> "Nothing" Then
objItem.Delete
End If
Next
End Sub
在代碼中,您的 function 僅接受MailItem
class 的實例。 但是 Outlook 文件夾可能包含不同類型的項目 - 約會、文檔、筆記等。為了在運行時區分它們,您可以使用以下構造:
Dim obj As Object
If TypeName(obj) = "MailItem" Then
' your code for mail items here
End If
因此,您需要通過以下方式聲明 function(如果您不需要對不同類型的項目執行單獨的操作):
Sub PermDelete(Item As Object)
' First set a property to find it again later
Item.UserProperties.Add "Deleted", olText
Item.Save
Item.Delete
'Now go through the deleted folder, search for the property and delete item
Dim objDeletedFolder As Outlook.Folder
Dim objItem As Object
Dim objProperty As Variant
Set objDeletedFolder = Application.GetNamespace("MAPI"). _
GetDefaultFolder(olFolderDeletedItems)
For Each objItem In objDeletedFolder.items
Set objProperty = objItem.UserProperties.Find("Deleted")
If TypeName(objProperty) <> "Nothing" Then
objItem.Delete
End If
Next
End Sub
將Item
設置為通用Object
所選項目的示例
Option Explicit
Public Sub Example()
Dim obj As Object
Set obj = ActiveExplorer.Selection.Item(1)
obj.Delete
End Sub
要運行具有類似(Item As Outlook.MailItem)
的參數的代碼,您需要在這種情況下傳遞 Item 的信息。
您不能從按鈕運行此類代碼。
您可以從按鈕或 F8 運行Sub delItemPermanently()
以逐步執行。
Option Explicit
Sub delItemPermanently()
' Select a single item
' This line passes the item to PermDelete
PermDelete ActiveExplorer.Selection(1)
End Sub
Sub PermDelete(Item As Object)
' Notice Object not Mailitem
' This will accommodate mailitems as well
...
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.