2015-09-05 175 views
0

我在這裏有一個程序,通過Outlook中已發郵件文件夾中的每封電子郵件進行搜索,直到找到指定電子郵件中的標籤(URL),打開它併發送回復。使用Outlook的Excel VBA:如何使用AdvancedSearch方法在Outlook中搜索特定的電子郵件?

但是,我在「已發送郵件」文件夾中有很多電子郵件,因此需要花費很多時間來搜索每封電子郵件。

我讀過AdvancedSearch方法是搜索特定電子郵件的更快捷的方法。但我真的不知道它是如何工作的,這就是爲什麼我需要你幫助的人。

如何在此類程序中使用AdvancedSearch方法?

欣賞你的幫助球員。

Set olApp = New Outlook.Application 
Set olNameSpace = olApp.GetNamespace("MAPI") 
Set olFolder = olNameSpace.GetDefaultFolder(olFolderSentMail) 

For Each olMail In olFolder.Items 

    tagLink = Sheets("Data").Cells(rowCount, 6) 

    If InStr(olMail.HTMLBody, tagLink) <> 0 Then 

    With olMail.Reply 

     .Display 
     .To = sMailTo 
     .CC = sMailCC 
     .HTMLBody = mailBody & vbLf & .HTMLBody 

     .Send 

    End With 

    End If 

Next olMail 

回答

0

對於每個olMail在olFolder.Items

不要遍歷文件夾中的所有項目。特別是如果你在文件夾中有大量的項目。

相反,您可以考慮使用Items類的Restrict或Find/FindNext方法。您可能會發現他們在深度在下面的文章中描述:

當然,你可以考慮使用應用程序類的AdvancedSearch方法。使用此方法的主要好處是能夠在後臺運行搜索並搜索不同/多個文件夾中的項目。詳細瞭解Advanced search in Outlook programmatically: C#, VB.NET文章中的所有優點。

最後,您可能會發現Getting Started with VBA in Outlook 2010文章有幫助。

相關問題