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

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
Anzeige