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

Excel Anhang aus Outlook auslesen

Forumthread: Excel Anhang aus Outlook auslesen

Excel Anhang aus Outlook auslesen
12.02.2020 14:12:12
Philip
Hallo zusammen,
ist es möglich mittels einem VBA-Code Excel Dateien aus einem E-Mail Anhang auszulesen?
Ich Frage aus folgendem Hintergrund:
Ich bekomme E-Mails über Outlook mit immer der gleichen Excel als Anhang (Name bleibt gleich).
Lediglich ein Wert, z.B. in Zelle "B1" ändert sich.
Nun möchte ich die verschiedenen Werte der Excel-Dateien direkt aus meinem Posteingang in eine neue Excel-Datei einfließen lassen (zum Test einfach in Zelle A1 und Folgende).
Ist so etwas grundsätzlich möglich?
Mit freundlichen Grüßen
Philip
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Anhang aus Outlook auslesen
12.02.2020 15:42:02
mumpel
Das ist möglich. Aber dazu muss die Datei erstmal auf der Festplatte gespeichert werden. Die Zieldatei darf nicht den selben Namen haben.
AW: Excel Anhang aus Outlook auslesen
13.02.2020 08:27:55
Philip
Hallo Mumpel,
das ist über einen kleinen VBA-Code im Outlook selbst machbar, soweit ich das bis jetzt gelesen habe.
AW: Excel Anhang aus Outlook auslesen
13.02.2020 10:28:52
mumpel
Aber nicht ohne die Datei zu öffnen bzw. auf der Festplatte zu speichern.
Anzeige
;
Anzeige

Infobox / Tutorial

Excel Anhang aus Outlook auslesen


Schritt-für-Schritt-Anleitung

Um Excel-Dateien aus E-Mail-Anhängen in Outlook auszulesen, benötigst du einen VBA-Code. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Erstelle ein neues Modul: Klicke auf Einfügen und wähle Modul.

  3. Füge folgenden Code ein:

    Sub SaveAttachmentsToDisk()
       Dim olMail As Outlook.MailItem
       Dim olAttachment As Outlook.Attachment
       Dim saveFolder As String
       Dim i As Integer
    
       saveFolder = "C:\DeinPfad\"  ' Ändere den Pfad zu deinem gewünschten Speicherort
    
       For i = Application.ActiveExplorer.Selection.Count To 1 Step -1
           Set olMail = Application.ActiveExplorer.Selection(i)
           For Each olAttachment In olMail.Attachments
               If Right(olAttachment.FileName, 5) = ".xlsx" Then
                   olAttachment.SaveAsFile saveFolder & olAttachment.FileName
               End If
           Next olAttachment
       Next i
    End Sub
  4. Schließe den VBA-Editor und kehre zu Outlook zurück.

  5. Wähle die E-Mails aus, aus denen du die Anhänge speichern möchtest.

  6. Führe das Makro aus: Drücke ALT + F8, wähle SaveAttachmentsToDisk und klicke auf Ausführen.

Die Excel-Anhänge werden nun im angegebenen Ordner gespeichert.


Häufige Fehler und Lösungen

  • Fehler: "Zugriff verweigert"

    • Stelle sicher, dass du die richtigen Berechtigungen für den Speicherort hast. Versuche es mit einem anderen Ordner.
  • Fehler: "Datei kann nicht gefunden werden"

    • Überprüfe den angegebenen Pfad im Code. Achte darauf, dass der Ordner existiert.

Alternative Methoden

Wenn du keine VBA-Programmierung nutzen möchtest, kannst du auch:

  • Manuell speichern: Klicke mit der rechten Maustaste auf den Anhang in der E-Mail und wähle "Speichern unter".
  • Outlook-Regeln: Erstelle Regeln in Outlook, um E-Mails mit bestimmten Anhängen automatisch in einen bestimmten Ordner zu verschieben.

Praktische Beispiele

Hier ist ein Beispiel, wie du die Werte aus den gespeicherten Excel-Dateien in eine neue Excel-Datei einfügen kannst:

  1. Öffne eine neue Excel-Datei.

  2. Füge folgenden VBA-Code in das Excel-Modul ein:

    Sub ImportValues()
       Dim wb As Workbook
       Dim ws As Worksheet
       Dim filePath As String
       Dim i As Integer
    
       filePath = "C:\DeinPfad\"  ' Ändere den Pfad zu deinem Speicherort
    
       i = 1
       Do While Dir(filePath & "*.xlsx") <> ""
           Set wb = Workbooks.Open(filePath & Dir(filePath & "*.xlsx"))
           ThisWorkbook.Sheets(1).Cells(i, 1).Value = wb.Sheets(1).Range("B1").Value
           wb.Close False
           i = i + 1
       Loop
    End Sub
  3. Führe das Makro aus, um die Werte in die neue Excel-Datei zu importieren.


Tipps für Profis

  • Automatisiere den Prozess: Du kannst das Speichern der Anhänge und das Importieren der Werte zu einem einzigen Makro kombinieren.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in deine VBA-Codes ein, um Probleme während der Ausführung zu vermeiden.
  • Nutze Application.Wait: Wenn du viele Anhänge verarbeiten musst, kann es hilfreich sein, zwischen den Schritten kurze Pausen einzubauen.

FAQ: Häufige Fragen

1. Kann ich auch andere Dateitypen speichern? Ja, ändere einfach die Bedingung im Code, um andere Dateitypen zu akzeptieren.

2. Funktioniert das in allen Excel-Versionen? Ja, die beschriebenen Methoden funktionieren in den meisten modernen Excel-Versionen, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige