Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Outlook Mail-Empfänger auslesen

Forumthread: Outlook Mail-Empfänger auslesen

Outlook Mail-Empfänger auslesen
14.05.2018 15:40:30
Hazard
Hallo zusammen,
ich möchte gerne aus einem Ordner in Outlook die Mailempfänger auslesen. Am besten die Mailadresse und den Namen.
Folgender Code funktioniert soweit, aber nur für den Sender.
Leider funktioniert es mit "olMail.recipient" oder "olMail.receiver" nicht.
Könnt ihr mir bitte weiterhelfen?
Vielen Dank im Voraus.

Sub Absender_auslesen()
Dim olApp As Object
Dim olFolder As Object
Dim olMail As Object
Dim i As Integer
i = 0
Set olApp = CreateObject("Outlook.Application")
Set olFolder = olApp.ActiveExplorer.currentfolder
For Each olMail In olFolder.items
ActiveSheet.Range("A1").Offset(i, 0).Value = olMail.sender
i = i + 1
Next
End Sub


		
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Outlook Mail-Empfänger auslesen
14.05.2018 17:32:59
niclaus
Hallo Hazard
Mailempfänger - Leider funktioniert es mit "olMail.recipient" oder "olMail.receiver" nicht.

Mit "olMail.to" sollte es funktionieren.
Und wenn Du noch den Betreff brauchst: "olMail.Subject"
Grüsse Niclaus
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Outlook Mail-Empfänger auslesen


Schritt-für-Schritt-Anleitung

Um die Mailempfänger aus einem Outlook-Ordner auszulesen, kannst Du den folgenden VBA-Code verwenden. Dieser Code erweitert den bestehenden Code, um die Empfängeradressen sowie die Betreffzeilen zu erfassen.

Sub Empfaenger_auslesen()
    Dim olApp As Object
    Dim olFolder As Object
    Dim olMail As Object
    Dim i As Integer
    i = 0
    Set olApp = CreateObject("Outlook.Application")
    Set olFolder = olApp.ActiveExplorer.CurrentFolder
    For Each olMail In olFolder.Items
        ActiveSheet.Range("A1").Offset(i, 0).Value = olMail.Sender
        ActiveSheet.Range("B1").Offset(i, 0).Value = olMail.To
        ActiveSheet.Range("C1").Offset(i, 0).Value = olMail.Subject
        i = i + 1
    Next
End Sub

Dieser Code liest die Absender, Empfänger und Betreffzeilen aus und speichert sie in den Zellen A, B und C ab der ersten Zeile des aktiven Arbeitsblatts.


Häufige Fehler und Lösungen

  • Problem: "olMail.recipient" oder "olMail.receiver" funktioniert nicht.
    Lösung: Verwende stattdessen olMail.To, um die Empfängeradressen zu erhalten.

  • Problem: Der Code gibt keine Ergebnisse aus.
    Lösung: Stelle sicher, dass Du im richtigen Ordner in Outlook bist und dass der Code auf ein aktives Arbeitsblatt in Excel zugreift.


Alternative Methoden

Eine alternative Methode besteht darin, die Outlook-Integration in Power Query zu nutzen. Du kannst Daten aus Outlook direkt in Excel importieren, indem Du den "Daten abrufen" -Befehl verwendest. Dies ermöglicht Dir, die gewünschten Informationen ohne VBA zu extrahieren.


Praktische Beispiele

Ein praktisches Beispiel für die Anwendung des Codes ist das Erstellen einer Kontaktliste. Du kannst den Code anpassen, um weitere Details wie CC, BCC oder das Empfangsdatum hinzuzufügen.

ActiveSheet.Range("D1").Offset(i, 0).Value = olMail.CC
ActiveSheet.Range("E1").Offset(i, 0).Value = olMail.ReceivedTime

Tipps für Profis

  • Optimiere den Code, indem Du nur E-Mails eines bestimmten Typs oder Datumsbereichs abfragst.
  • Verwende Error-Handling, um sicherzustellen, dass der Code nicht abstürzt, wenn eine E-Mail keine Empfängerinformationen enthält.
On Error Resume Next

Setze diesen Befehl am Anfang der Schleife ein, um Fehler zu ignorieren.


FAQ: Häufige Fragen

1. Frage
Kann ich auch Anhänge auslesen?
Antwort: Ja, Du kannst das olMail.Attachments-Objekt verwenden, um Informationen zu Anhängen zu extrahieren.

2. Frage
Wie kann ich den Code anpassen, um nur ungelesene E-Mails zu erfassen?
Antwort: Du kannst eine Bedingung hinzufügen, um nur E-Mails mit dem Status "ungelesen" zu verarbeiten. Beispielsweise:

If olMail.UnRead Then

Mit diesen Informationen solltest Du in der Lage sein, die Mailempfänger aus Outlook einfach auszulesen und eventuelle Probleme zu beheben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige