Um mit dem aktuell ausgewählten (nicht geöffneten) Element in der Nachrichtenliste zu arbeiten, müssen Sie den ActiveExplorer aufrufen und die ActiveExplorer-Methode verwenden, um das Element im Explorer-Fenster zu erhalten. (Dies wird für alle Outlook-Elemente verwendet, die ausgewählt, aber nicht geöffnet sind: Termine, Kontakte, Aufgaben usw.)
Set objItem = objApp.ActiveExplorer.Selection.Item(1)
Wenn Sie mit einem Outlook-Element arbeiten, das geöffnet ist und den Schwerpunkt hat, verwendet es die ActiveInspector-Methode. Der Code, den Sie für die Arbeit mit Inspectors benötigen, ist:
Set objItem = objApp.ActiveInspector.CurrentItem
Um sich zu erinnern, welcher welcher ist, stellen Sie sich das Outlook-Hauptfenster als Windows-Explorer vor. Wenn Sie mit Elementen in diesem Fenster arbeiten, verwenden Sie den Explorer.
Verwenden Sie Makros sowohl mit geöffneten als auch mit ausgewählten Elementen
Wenn Sie das Makro sowohl mit offenen als auch mit markierten Elementen verwenden möchten, können Sie mit dieser Funktion feststellen, ob das Element offen oder markiert ist. Sie rufen die Funktion auf diese Weise in Ihrem Coding auf:
Set objItem = GetCurrentItem()
Sie sollten eine Kopie dieser Funktion in einem Modul erstellen und können die Funktion in vielen Makros verwenden.
Function GetCurrentItem() As Object
Dim objApp As Outlook.Application
Set objApp = Application
On Error Resume Next
Select Case TypeName(objApp.ActiveWindow)
Case "Explorer"
Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
End Select
Set objApp = Nothing
End Function
Video-Tipp: