[英]Excel vba attachment search
我正在研究可在Outlook郵件附件中找到字符串的宏。 我有工作模塊搜索給定郵箱和文件夾上的主題,正文和附件名稱。
問題是我的代碼不想在附件函數中模擬Outlook搜索。
代碼在郵件主題字段中搜索單詞“ office”,並顯示找到的郵件:
Sub t22()
Dim myolApp As Outlook.Application
Dim objNS As Outlook.Namespace
Dim objFolder As Outlook.MAPIFolder
Dim ProcessName As String
Dim EmailName As String
Set myolApp = CreateObject("Outlook.Application")
Set objNS = myolApp.GetNamespace("MAPI")
Set objFolder = objNS.Folders("my@mailbox.com")
Set TargetInbox = objFolder.Folders("Inbox")
Dim oItms As Outlook.Items
Dim oItm As Outlook.MailItem
Set oItms = TargetInbox.Items
Dim sFilter As String
Dim EmailTime As String
sFilter = "@SQL=""http://schemas.microsoft.com/mapi/proptag/0x0037001f"" = 'office'"
Set oItm = oItms.Find(sFilter)
'If Not IsEmpty(oltm) Then
oItm.Display
Debug.Print oItm.Body
'End If
End Sub
據我了解,“ sFilter”應指向目標搜索字段,但是當我將其值用於附件(0x0EA5001E)時,它將失敗。
我也在嘗試AdvancedSearch方法,但結果相同-除附件外,其他都可以使用。
Outlook對象模型不提供任何用於搜索附件中的字符串的功能。 您需要找到所有附加了文件的項目,然后遍歷所有項目。 進行迭代時,您可以打開附件並在其中搜索字符串。 您可以使用以下搜索條件來查找所有帶有附件的項目:
query ="@SQL=" & chr(34) & "urn:schemas:httpmail:hasattachment" & chr(34) & "=1"
您可能還會發現以下文章有所幫助:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.