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

Forumthread: Text aus E-Mail kopieren?

Text aus E-Mail kopieren?
15.10.2018 20:02:26
Axel
Hallo zusammen,
es gibt ein Thema, mit dem ich mich noch so garnicht beschäftigt habe. Deswegen die Frage:
Ist es möglich, über Excel VBA, Outlook-E-Mails zu öffnen, dort einen bestimmten Text nach Excel zu kopieren, E-Mail zu schließen und zur nächsten E-Mail zu gehen?
Wenn ja, ist es sehr aufwendig? Könnt ihr mir hierzu schon einen bestimmten Code empfehlen bzw. eine Seite zu dem Thema?
Ansonsten freue ich mich auch über code ;-).
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text aus E-Mail kopieren?
16.10.2018 20:51:26
Dieter
Hallo Axel,
du kannst das z.B. mit dem folgenden Programm machen.
Es wird hier jeweils der gesamte Text der Eingangsmails übernommen. Du musst dir dann noch den Teil herausschneiden, der dich interessiert.
Sub Posteingang_lesen()
Dim letzteZeile As Long
Dim olWarNichtAktiv As Boolean
Dim olApp As Outlook.Application
Dim olEin As Outlook.MAPIFolder
Dim olNS As Outlook.Namespace
Dim olMail As Outlook.MailItem
Dim rng As Range
Dim ws As Worksheet
Dim zeile As Long
Set ws = ThisWorkbook.Worksheets(1)
letzteZeile = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
If letzteZeile = 1 Then letzteZeile = 2
ws.Range(ws.Range("A2"), ws.Cells(letzteZeile, "D")).ClearContents
On Error Resume Next
Set olApp = GetObject(Class:="Outlook.Application")
If Err  0 Then
Set olApp = CreateObject("Outlook.Application")
olWarNichtAktiv = True
End If
On Error GoTo 0
Set olNS = olApp.GetNamespace("MAPI")
Set olEin = olNS.GetDefaultFolder(Foldertype:=olFolderInbox)
zeile = 2
For Each olMail In olEin.Items
ws.Cells(zeile, "A") = olMail.SenderEmailAddress
ws.Cells(zeile, "B") = olMail.ReceivedTime
ws.Cells(zeile, "C") = olMail.Subject
ws.Cells(zeile, "D") = olMail.Body
ws.Cells(zeile, "D").WrapText = False
zeile = zeile + 1
Next olMail
If olWarNichtAktiv Then
olApp.Quit
End If
Set olApp = Nothing
MsgBox "Verarbeitung beendet" & vbNewLine & _
"Anzahl der Mails: " & zeile - 2
End Sub
Viele Grüße
Dieter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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 Excel in Outlook kopieren


Schritt-für-Schritt-Anleitung

Um E-Mail-Adressen aus Excel in Outlook zu kopieren, kannst Du VBA verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Menü auf "Einfügen" und dann auf "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Sub Posteingang_lesen()
        Dim letzteZeile As Long
        Dim olWarNichtAktiv As Boolean
        Dim olApp As Outlook.Application
        Dim olEin As Outlook.MAPIFolder
        Dim olNS As Outlook.Namespace
        Dim olMail As Outlook.MailItem
        Dim zeile As Long
        Set ws = ThisWorkbook.Worksheets(1)
        letzteZeile = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
        If letzteZeile = 1 Then letzteZeile = 2
        ws.Range(ws.Range("A2"), ws.Cells(letzteZeile, "D")).ClearContents
        On Error Resume Next
        Set olApp = GetObject(Class:="Outlook.Application")
        If Err <> 0 Then
            Set olApp = CreateObject("Outlook.Application")
            olWarNichtAktiv = True
        End If
        On Error GoTo 0
        Set olNS = olApp.GetNamespace("MAPI")
        Set olEin = olNS.GetDefaultFolder(olFolderInbox)
        zeile = 2
        For Each olMail In olEin.Items
            ws.Cells(zeile, "A") = olMail.SenderEmailAddress
            ws.Cells(zeile, "B") = olMail.ReceivedTime
            ws.Cells(zeile, "C") = olMail.Subject
            ws.Cells(zeile, "D") = olMail.Body
            zeile = zeile + 1
        Next olMail
        If olWarNichtAktiv Then
            olApp.Quit
        End If
        Set olApp = Nothing
        MsgBox "Verarbeitung beendet" & vbNewLine & _
               "Anzahl der Mails: " & zeile - 2
    End Sub
  4. Speichere Deine Arbeit und schließe den VBA-Editor.

  5. Führe das Makro aus, indem Du im Excel-Fenster ALT + F8 drückst, das Makro auswählst und auf "Ausführen" klickst.


Häufige Fehler und Lösungen

  • Fehler 1: "Aktives Outlook-Fenster nicht gefunden"

    • Stelle sicher, dass Outlook geöffnet ist, bevor Du das Makro ausführst.
  • Fehler 2: "Zugriff verweigert"

    • Überprüfe, ob Du die richtigen Berechtigungen hast, um auf Outlook zuzugreifen.
  • Problem: E-Mail-Adressen werden nicht korrekt angezeigt

    • Achte darauf, dass die Spalten in Excel richtig formatiert sind, um die E-Mail-Adressen und andere Informationen korrekt darzustellen.

Alternative Methoden

Wenn Du keine VBA verwenden möchtest, kannst Du auch die E-Mail-Adressen manuell in Outlook kopieren:

  1. Öffne die E-Mail in Outlook.
  2. Markiere die E-Mail-Adresse oder den gewünschten Text.
  3. Drücke Strg + C, um zu kopieren.
  4. Gehe zu Excel und drücke Strg + V, um den Text einzufügen.

Diese Methode eignet sich jedoch nur für eine kleine Anzahl von E-Mails, während VBA eine größere Automatisierung ermöglicht.


Praktische Beispiele

Hier sind einige Anwendungsfälle für das Kopieren von E-Mail-Adressen aus Excel in Outlook:

  • Bulk-E-Mails senden: Wenn Du eine Liste von Kontakten in Excel hast, kannst Du diese in Outlook importieren, um massenhaft E-Mails zu versenden.

  • Datenanalyse: Du kannst E-Mail-Daten aus Outlook exportieren und in Excel analysieren, um Trends zu erkennen.


Tipps für Profis

  • Automatisiere regelmäßige Aufgaben: Du kannst das Makro so anpassen, dass es regelmäßig ausgeführt wird, um neue E-Mail-Adressen automatisch abzurufen.

  • Verwende Filter: Um nur bestimmte E-Mails zu kopieren, kannst Du Bedingungen in den VBA-Code einfügen, z.B. nur E-Mails von bestimmten Absendern.

  • Backup der Daten: Stelle sicher, dass Du regelmäßig ein Backup Deiner Excel-Datei machst, um Datenverluste zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich E-Mail-Adressen aus Excel in Mail kopieren? Du kannst die E-Mail-Adressen manuell kopieren oder ein VBA-Skript verwenden, um den Vorgang zu automatisieren.

2. Funktioniert dieser Prozess auch in älteren Excel-Versionen? Der VBA-Code sollte in den meisten Excel-Versionen ab 2007 funktionieren, solange Outlook installiert ist.

3. Kann ich nur bestimmte Teile der E-Mail kopieren? Ja, Du kannst den VBA-Code anpassen, um nur bestimmte Teile der E-Mail, wie den Betreff oder den Text, zu extrahieren.

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