Verwenden des Table-Objekts zum ausführenden Aufzählen gefilterter Elemente in einem Ordner

Im Codebeispiel in diesem Thema wird das Table-Objekt verwendet, um eine gefilterte Gruppe von Elementen im Posteingang aufzulisten, die nach dem 1. Mai 2005 zuletzt geändert wurden. Für jedes dieser Elemente gibt das Codebeispiel diese Werte aus: den Betreff, den Zeitpunkt, zu dem das Element zuletzt geändert wurde und ob das Element ausgeblendet ist. Das Verfahren sieht wie folgt aus:

  1. Im Beispiel wird ein Filter definiert, der auf dem Wert der LastModificationTime -Eigenschaft der E-Mail-Elemente basiert.

  2. Der Filter wird auf Folder.GetTable angewendet, und es wird ein Table -Objekt einer Teilmenge der E-Mail-Elemente im Posteingang abgerufen, die dem Filter entsprechen.

Hinweis Die zurückgegebene Tabelle enthält einen Standardsatz von Eigenschaften für jedes gefilterte Element: EntryID, Subject, CreationTime, LastModificationTime und MessageClass. 3. Anschließend werden Columns.RemoveAll und Columns.Add verwendet, um die Tabelle mit den tatsächlich gewünschten Eigenschaften zu aktualisieren: Subject, LastModificationTime und dem ausgeblendeten Attribut (PidTagAttributeHidden). Es gibt Eigenschaften mit ihren expliziten integrierten Namen an, wenn sie vorhanden sind (z. B . Subject, LastModificationTime), und nur wenn dies nicht der Fall ist, verweist es auf die Eigenschaften nach ihren Namespaces (z. B. das ausgeblendete Attribut eines E-Mail-Elements).

Hinweis Die table-Objekte , die von Folder.GetTable in Schritt 2 zurückgegeben wurden, und Columns.Add in Schritt 3 enthalten unterschiedliche Eigenschaftswerte, aber für denselben Satz gefilterter Elemente im Posteingang. 4. Schließlich wird Table.GetNextRow verwendet, um die gefilterten Elemente aufzulisten (bis Table.EndOfTable true ist), und zeigt die Werte der drei gewünschten Eigenschaften für jedes Element an.

Sub DemoTable() 
 'Declarations 
 Dim Filter As String 
 Dim oRow As Outlook.Row 
 Dim oTable As Outlook.Table 
 Dim oFolder As Outlook.Folder 
 
 'Get a Folder object for the Inbox 
 Set oFolder = Application.Session.GetDefaultFolder(olFolderInbox) 
 
 'Define Filter to obtain items last modified after May 1, 2005 
 Filter = "[LastModificationTime] > '5/1/2005'" 
 'Restrict with Filter 
 Set oTable = oFolder.GetTable(Filter) 
 
 'Remove all columns in the default column set 
 oTable.Columns.RemoveAll 
 'Specify desired properties 
 With oTable.Columns 
 .Add ("Subject") 
 .Add ("LastModificationTime") 
 'PidTagAttributeHidden referenced by the MAPI proptag namespace 
 .Add ("https://schemas.microsoft.com/mapi/proptag/0x10F4000B") 
 End With 
 
 'Enumerate the table using test for EndOfTable 
 Do Until (oTable.EndOfTable) 
 Set oRow = oTable.GetNextRow() 
 Debug.Print (oRow("Subject")) 
 Debug.Print (oRow("LastModificationTime")) 
 Debug.Print (oRow("https://schemas.microsoft.com/mapi/proptag/0x10F4000B")) 
 Loop 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.