2016-01-19 43 views
0

我希望創建一個VBA程序來刪除Outlook的Deleted Items文件夾中的項目。但是,我只希望通過匹配鬆散的字符串來移除某些用戶的這些項目。刪除已發送的已刪除郵件中的字符串匹配項

例如,刪除Deleted Items箱中的所有電子郵件從像"Plan_Group_"地址的用戶,因爲我可以從"Plan_Group_1""Plan_Group_2""Plan_Group_3",...等接收電子郵件。

目前這是我刪除,但它是爲Deleted Items箱中的所有項目:

Sub RemoveAutomaticItemsInDeletedItems() 
    Dim oDeletedItems As Outlook.Folder 
    Dim oItems As Outlook.Items 
    Dim i As Long 
    'Obtain a reference to deleted items folder 
    Set oDeletedItems = Application.Session.GetDefaultFolder(olFolderDeletedItems) 
    Set oItems = oDeletedItems.Items 
    For i = oItems.Count To 1 Step -1 
     oItems.Item(i).Delete 
    Next 
End Sub 

我怎麼能這樣擴大到只尋找那些鬆散從地址字符串匹配的郵件?

回答

1

使用一個If語句來檢查的電子郵件地址:

If TypeName(oItems.Item(i)) = "MailItem" And oItems(i).SenderEmailAddress Like "Plan_Group_*" Then 
    oItems.Item(i).Delete 
End If 

或者:

If TypeName(oItems.Item(i)) = "MailItem" And Left$(oItems(i).SenderEmailAddress, 11) = "Plan_Group_" Then 
    oItems.Item(i).Delete 
End If 

僅有2種做

+0

我得到與'.SenderEmailAddress行的錯誤方式'是:'運行時錯誤'438':對象不支持這個屬性或方法' – Sauron

+1

你需要確保'oItems.Item(i)'實際上是一個'MailItem'來使它工作 –

+0

是的,這是問題,完美的解決方案 – Sauron