簡體   English   中英

Excel VBA附件搜索

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM