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

Auslesen von Infos von einem Outlook-Mail per VBA

Forumthread: Auslesen von Infos von einem Outlook-Mail per VBA

Auslesen von Infos von einem Outlook-Mail per VBA
11.07.2002 14:01:14
MST
Hallo,

ich habe mir per Excel-Makro VBA in Outlook ein Mail geholt und möchte nicht nur die Betreffzeile ( in u.a. Beispiel objmsg ), sondern auch den Mailsender, das Datum des Mailempfang etc. in eine Variable ( nicht objmsg ) einlesen. Wie geht das denn ?

Hier mein bisheriger Code :

Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
Set objFolder = _
objnSpace.Folders(Ordner1).Folders(Ordner2).Folders(Ordner3)

' Bestimmung der Anzahl der Mails in dem Verzeichnis
Mail_Anzahl = objFolder.Items.Count

' Auswahl des Maileintrages und des richtigen Anhangs, sowie
deren Speicherung

Schleifenanfang:

Set objMsg = objFolder.Items(2)

Nun wird in objMsg die Betreffzeile z.B. des Mails Nr. 2 eingelesen.
Ja, aber wie bekomme ich die Infos der restlichen Outlook-Felder des Mails.

Es wäre toll, wenn jemand hierauf eine Antwort wüßte.

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Auslesen von Infos von einem Outlook-Mail per VBA
12.07.2002 07:53:13
Hans W. Herber
Hallo,

in diesem Forum bitte mit Real(vor)namen auftreten, danke.

Deklariere das Objekt objMsg als MailItem und schaffe einen Verweis zur Microsoft Outlook Objekt-Library, dann bekommst Du nach einem Punkt hinter MailItem alle Elemente aufgelistet.

hans

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Informationen aus einer Outlook-Mail per VBA auslesen


Schritt-für-Schritt-Anleitung

  1. Verweis zur Microsoft Outlook Objekt-Library hinzufügen:

    • Öffne den VBA-Editor in Excel (Alt + F11).
    • Gehe zu Extras > Verweise.
    • Suche und aktiviere die Option Microsoft Outlook xx.x Object Library (xx.x steht für die Version, z.B. 16.0 für Outlook 2016).
  2. VBA-Code für das Auslesen der E-Mail-Informationen: Verwende den folgenden Beispielcode, um Informationen wie Absender, Datum und Betreff einer E-Mail auszulesen:

    Sub AuslesenOutlookMail()
       Dim objOutlook As Object
       Dim objnSpace As Object
       Dim objFolder As Object
       Dim objMsg As Object
       Dim Mail_Anzahl As Long
    
       Set objOutlook = CreateObject("Outlook.Application")
       Set objnSpace = objOutlook.GetNamespace("MAPI")
       Set objFolder = objnSpace.Folders("Ordner1").Folders("Ordner2").Folders("Ordner3")
    
       Mail_Anzahl = objFolder.Items.Count
    
       If Mail_Anzahl > 0 Then
           Set objMsg = objFolder.Items(2) ' Beispiel für die zweite E-Mail
           MsgBox "Betreff: " & objMsg.Subject & vbCrLf & _
                  "Absender: " & objMsg.SenderName & vbCrLf & _
                  "Datum: " & objMsg.ReceivedTime
       Else
           MsgBox "Keine E-Mails im ausgewählten Ordner."
       End If
    End Sub
  3. Anpassen des Codes:

    • Ersetze "Ordner1", "Ordner2" und "Ordner3" durch die tatsächlichen Namen deiner Outlook-Ordner.
    • Du kannst den Index Items(2) ändern, um eine andere E-Mail auszulesen.

Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden":

    • Überprüfe die Ordnernamen auf Tippfehler.
  • Fehler: "Keine E-Mails im ausgewählten Ordner":

    • Stelle sicher, dass sich E-Mails im angegebenen Ordner befinden.
  • Problem: Absendername wird nicht angezeigt:

    • Stelle sicher, dass objMsg als MailItem deklariert ist.

Alternative Methoden

  • Direktes Auslesen von Outlook-Einstellungen: Du kannst auch die Kontoeinstellungen direkt auslesen. Hier ein Beispiel:

    Dim Account As Object
    For Each Account In objnSpace.Accounts
      MsgBox "E-Mail Adresse: " & Account.SmtpAddress
    Next Account
  • Verwendung von VBS: Du kannst auch VBS (Visual Basic Scripting) verwenden, um ähnliche Aufgaben zu erledigen, was eine einfache Automatisierung ermöglicht.


Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele:

  1. Auslesen von E-Mail-Passwörtern: Du kannst VBA so anpassen, dass es Kontoinformationen, wie das Passwort, ausliest, jedoch ist dies aus Sicherheitsgründen nicht empfohlen.

  2. Leere Zeilen in der Signatur entfernen: Mit VBA kannst du auch die Signatur einer E-Mail bearbeiten und leerzeilen am Anfang entfernen. Dies erfordert jedoch zusätzliche Codezeilen.


Tipps für Profis

  • Nutze vba email cc oder vba cc email, um CC-Empfänger auszulesen.
  • Halte deine Outlook-Version auf dem neuesten Stand, um Komplikationen zu vermeiden.
  • Teste deinen Code regelmäßig, um sicherzustellen, dass er nach Änderungen in Outlook weiterhin funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich das Passwort einer Outlook-E-Mail auslesen?
Das Auslesen von Passwörtern ist aus Sicherheitsgründen nicht möglich und nicht empfohlen.

2. Wie kann ich die Betreffzeile aller E-Mails in einem Ordner auslesen?
Du kannst eine Schleife verwenden, um durch alle Elemente im Ordner zu iterieren und die Betreffzeilen auszulesen.

3. Welche Outlook-Version benötige ich für diese Methoden?
Die meisten dieser Methoden sind für Outlook 2007 und höher geeignet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige