Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema wird die Verwendung der Eintrags-ID eines Elements und der Store-ID eines Geschäfts für den Zugriff auf ein bestimmtes Element in einem NameSpace beschrieben.
Wenn Sie eine komplexere Lösung mit Microsoft Outlook erstellen, bei der Elemente in Ordnern verknüpft oder querverweisen werden, besteht eine Möglichkeit darin, die MAPI-basierten Bezeichner (IDs) jedes Elements zu verwenden. Wenn Sie die IDs eines Elements und den Ordner kennen, in dem es gespeichert ist, können Sie mithilfe der NameSpace.GetItemFromID-Methode direkt auf das Element verweisen.
Jedes Outlook-Element verfügt über ein Feld namens EntryID. Dabei handelt es sich um ein eindeutiges ID-Feld, das vom Messagingspeichersystem zur Verwendung mit den MAPI-Ordnern generiert wird, in denen das Element gespeichert wird. Es ist wichtig zu beachten, dass jedem Erstellen eines Elements in einem Ordner eine neue EntryID zugewiesen wird. Dies bedeutet, dass sich das EntryID-Feld ändert, wenn ein Element in einen anderen Ordner verschoben wird oder wenn ein Element exportiert und dann importiert wird (sogar in denselben Ordner).
Jeder Ordner verfügt über ein ID-Feld namens Folder.StoreID, dessen Wert für alle Ordner in einem bestimmten Nachrichtenspeicher identisch ist. Jeder Ordner hat auch ein eindeutiges Eintrags-ID-Feld.
Bei Verwendung der GetItemFromID-Methode zum Abrufen eines Elements auf Grundlage der ID sollte sowohl die EntryID des Elements als auch die StoreID des Ordners angegeben werden. Wenn Sie die StoreID nicht angeben, durchsucht GetItemFromID den Standardnachrichtenspeicher.
Das folgende Microsoft Visual Basic for Applications (VBA)-Beispiel veranschaulicht die Verwendung der GetItemFromID-Methode. Mit dem Code wird die StoreID des standardmäßigen Kontakte-Ordners abgerufen, ein Array ( MyEntryID
) mit den Eintrags-IDs aller Kontakte in diesem Ordner befüllt und abschließend ein bestimmtes Kontaktelement abgerufen:
Sub OutlookEntryID()
' If there are more than 500 contacts, change the following line:
Dim MyEntryID(500) As String
Dim StoreID As String
Dim EntryID As String
Set olns = Application.GetNamespace("MAPI")
Set objFolder = olns.GetDefaultFolder(olFolderContacts)
' Get the StoreID, which is a property of the folder.
StoreID = objFolder.StoreID
' Set objAllContacts equal to the collection of all contacts.
Set AllContacts = objFolder.Items
I = 0
' Loop to get all of the EntryIDs for the contacts.
For Each Item In AllContacts
I = I + 1
MyEntryID(I) = Item.EntryID
Next
' Randomly choose the 2nd contact to retrieve.
Set Item = olns.GetItemFromID(MyEntryID(2), StoreID)
Item.Display
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.