2017-05-09 11 views
0

Ich arbeite an Makro, die Zeichenfolge in Outlook Mails Anhänge finden würde. Ich habe ein funktionierendes Modul, das die Namen von Subjekten, Körpern und Anlagen auf dem angegebenen Postfach und Ordner durchsucht.Excel vba Anhang Suche

Problem ist, dass mein Code die Outlook-Suche innerhalb der Anhangsfunktion nicht emulieren soll.

-Code sucht nach einem Wort ‚Büro‘ im Betreff-Feld Mail und Anzeigen gefunden Mails:

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("[email protected]") 
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 

Soweit ich verstehe ‚sFilter‘ Bezug nehmend sollte Suchfelder zum Ziel, aber wenn ich ihren Wert für Anhänge (0x0EA5001E) schlägt fehl.

Ich habe auch versucht AdvancedSearch-Methode, aber mit demselben Ergebnis - für alles andere als Anhang arbeiten.

+0

Sie müssen Öffnen Sie die Anhänge, um nach innen zu suchen – 0m3r

Antwort

0

Das Outlook-Objektmodell bietet keine Möglichkeit zum Durchsuchen einer Zeichenfolge in Anlagen. Sie müssen alle Elemente suchen, an die Dateien angehängt sind, und dann über alle Elemente iterieren. Während der Iteration können Sie die angehängte Datei öffnen und nach einer Zeichenfolge darin suchen. Sie können die folgenden Suchkriterien verwenden, um alle Artikel zu finden, die Anhänge enthalten:

query ="@SQL=" & chr(34) & "urn:schemas:httpmail:hasattachment" & chr(34) & "=1" 

Sie auch folgende Artikel hilfreich sein können: