In diesem Tutorial werden wir uns mit einer Herausforderung befassen, die viele Microsoft Outlook-Benutzer kennen: das effiziente Durchsuchen von E-Mail-Konversationen. Stellen Sie sich vor, Sie haben eine umfangreiche E-Mail-Korrespondenz mit dem Betreff „Hotmail Outlook Problem“ und möchten nun alle Nachrichten finden, die im Rahmen dieser Diskussion gesendet und empfangen wurden. Die Standard-Sofortsuche in Outlook bietet jedoch nicht immer die erforderliche Präzision, da sie standardmäßig nur Nachrichten von der gesuchten Person anzeigt, ohne Ihre Antworten einzubeziehen.
Um eine vollständige Übersicht über die gesamte Konversation zu erhalten, benötigen wir eine erweiterte Suchfunktion, die es uns ermöglicht, sowohl eingehende als auch ausgehende Nachrichten zu einem bestimmten Thema oder Betreff zu finden. Leider kann das manuelle Einstellen einer solchen Suche in Outlook umständlich und zeitaufwändig sein, insbesondere wenn man bedenkt, dass man die Suchkriterien jedes Mal neu eingeben muss.
Die Lösung: Ein maßgeschneidertes VBA (Visual Basic for Applications) Makro, das die erforderlichen Suchparameter automatisch aus der ausgewählten E-Mail generiert und eine präzise Suche nach allen zugehörigen Nachrichten durchführt – sowohl gesendet an als auch empfangen von einer bestimmten Person und bezogen auf den gewählten Betreff. Dieses Makro wird die Produktivität steigern, indem es eine sonst repetitive und fehleranfällige Aufgabe automatisiert und so die Effizienz bei der Verwaltung von E-Mails verbessert.
Schritt 1: Zugriff auf die VBA-Entwicklungsumgebung
- Öffnen Sie Microsoft Outlook.
- Drücken Sie
Alt + F11
, um die VBA-Entwicklungsumgebung zu öffnen.
Schritt 2: Ein neues Modul hinzufügen
- Im VBA-Projekt-Fenster, das auf der linken Seite erscheint, klicken Sie mit der rechten Maustaste auf “VBAProject (Outlook)”.
- Wählen Sie
Einfügen
>Modul
, um ein neues Modul zu Ihrem Projekt hinzuzufügen.
Schritt 3: Das Makro einfügen
- Im neuen Modul-Fenster, das auf der rechten Seite erscheint, kopieren Sie den folgenden VBA-Code hinein:
Sub FindConversationMessages()
Dim selectedMail As Object
Dim subject As String
Dim searchQuery As String
' Stellt sicher, dass ein MailItem ausgewählt ist
If Application.ActiveExplorer.Selection.Count > 0 Then
Set selectedMail = Application.ActiveExplorer.Selection.Item(1)
' Überprüft, ob das ausgewählte Element eine Mail ist
If TypeName(selectedMail) = "MailItem" Then
' Holt den Betreff der ausgewählten E-Mail
subject = selectedMail.Subject
' Erstellt eine Suchanfrage, die Nachrichten an und von der Person einschließt
' Achtung: Ersetzen Sie 'Fräulein' mit dem tatsächlichen Namen oder Schlüsselwort
searchQuery = "[Konversation]:=""" & subject & """ (an:(Fräulein) OR von:(Fräulein))"
' Führt die Suche im Posteingang aus
Application.ActiveExplorer.Search searchQuery, Outlook.OlSearchScope.olFolder
Else
MsgBox "Bitte wählen Sie eine E-Mail aus, bevor Sie das Makro ausführen."
End If
Else
MsgBox "Es ist kein Element ausgewählt."
End If
End Sub