Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Outlook VBA Empfänger E-Mail

Outlook VBA Empfänger E-Mail
Patrick
Hallo,
Folgender Abschnitt meines Codes (vereinfacht) macht mir zurzeit Probleme:

'###
Dim myItem as AppointmentItem
set myItem = myFolder.Items("TEST")
debug.print myItem.Recipients.Item(i). 
Der Empfänger ist im Globalen Addressbuch und wird auch im Feld "Empfänger" so angezeigt:
Müller, Peter (Abteilung)
Wie kann ich nun die E-Mail Addresse auslesen. Habs mal mit:
myItem.Recipients.Item(i).AddressEntry.GetContact.Email1Address
versucht, funktioniert allerdings nicht.
Muss man dafür dann doch PropertyAccessor.GetProperty verweden? Wenn ja, wo finde ich eine Übersicht mit welchem Befehl ich die E-Mail Addresse auslese. Blicke noch nicht dahinter wie sich die URL bei "GetProperty" zusammensetzt.
Schonmal Danke.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Outlook VBA Empfänger E-Mail
07.09.2011 10:32:30
Patrick
Kaum schreibt man sein Problem ins Forum schon stolpert man zufällig über die Lösung :-D
Damit auch andere etwas davon haben wen ndas selbe Problem auftritt hier meine Lösung:
myItem.Recipients.Item(i).AddressEntry.GetExchangeUser.PrimarySmtpAddress
AW: Outlook VBA Empfänger E-Mail
07.09.2011 10:32:56
Patrick
Kaum schreibt man sein Problem ins Forum schon stolpert man zufällig über die Lösung :-D
Damit auch andere etwas davon haben wen ndas selbe Problem auftritt hier meine Lösung:
myItem.Recipients.Item(i).AddressEntry.GetExchangeUser.PrimarySmtpAddress
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

E-Mail-Adressen aus Outlook mit VBA auslesen


Schritt-für-Schritt-Anleitung

Um die E-Mail-Adresse eines Empfängers aus Outlook mit VBA auszulesen, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Outlook (Alt + F11).

  2. Erstelle ein neues Modul:

    • Rechtsklick auf "VBAProject (DeinOutlookName)" > Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Dim myItem As AppointmentItem
    Dim myFolder As Folder
    Dim i As Integer
    
    Set myFolder = Application.Session.GetDefaultFolder(olFolderCalendar)
    Set myItem = myFolder.Items("TEST")
    
    For i = 1 To myItem.Recipients.Count
       Debug.Print myItem.Recipients.Item(i).AddressEntry.GetExchangeUser.PrimarySmtpAddress
    Next i
  4. Führe das Skript aus, um die E-Mail-Adressen der Empfänger im Debug-Fenster anzuzeigen.


Häufige Fehler und Lösungen

  • Problem: "Die Methode 'GetExchangeUser' ist fehlgeschlagen."

    • Lösung: Stelle sicher, dass der Empfänger im Globalen Adressbuch vorhanden ist und die E-Mail-Adresse korrekt konfiguriert ist.
  • Problem: E-Mail-Adressen werden nicht angezeigt.

    • Lösung: Überprüfe, ob die Variable myItem tatsächlich ein gültiges AppointmentItem enthält und Empfänger vorhanden sind.

Alternative Methoden

Eine alternative Methode, um E-Mail-Adressen auszulesen, ist die Verwendung von PropertyAccessor. Hier ist ein Beispiel, wie du dies umsetzen kannst:

Dim myItem As AppointmentItem
Dim propAccessor As PropertyAccessor
Set myItem = myFolder.Items("TEST")
Set propAccessor = myItem.PropertyAccessor

For i = 1 To myItem.Recipients.Count
    Debug.Print propAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x39FE001E")
Next i

Diese Methode bietet dir mehr Flexibilität, falls du unterschiedliche Eigenschaften auslesen möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen können:

  1. E-Mail-Adresse auslesen:

    Debug.Print myItem.Recipients.Item(1).AddressEntry.GetExchangeUser.PrimarySmtpAddress
  2. E-Mail-Adresse in eine Zelle schreiben:

    Sheets("Sheet1").Cells(1, 1).Value = myItem.Recipients.Item(1).AddressEntry.GetExchangeUser.PrimarySmtpAddress

Diese Beispiele sind nützlich, um die E-Mail-Adresse direkt in Excel zu verwenden.


Tipps für Profis

  • Nutze die Fehlerbehandlung in deinem VBA-Code, um sicherzustellen, dass dein Skript nicht bei einem Fehler stoppt:

    On Error Resume Next
  • Experimentiere mit verschiedenen PropertyAccessor-Eigenschaften, um mehr Informationen über die Empfänger zu erhalten.

  • Halte deinen Code organisiert und gut dokumentiert, sodass du ihn später einfacher anpassen kannst.


FAQ: Häufige Fragen

1. Wie kann ich die E-Mail-Adresse eines bestimmten Empfängers auslesen? Um die E-Mail-Adresse eines bestimmten Empfängers auszulesen, kannst du den Index in der Item()-Methode anpassen.

2. Was mache ich, wenn ich keine E-Mail-Adressen bekomme? Überprüfe, ob die Empfänger im Globalen Adressbuch vorhanden sind und ob dein Skript mit den richtigen Berechtigungen ausgeführt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige