Anhänge aus Outlook speichern mit VBA
Schritt-für-Schritt-Anleitung
Um alle Anhänge aus mehreren Mails gleichzeitig zu speichern, kannst Du den folgenden VBA-Code verwenden. Dieser Code speichert die Anhänge in einem festgelegten Zielordner. Du kannst ihn anpassen, um auch Anhänge aus dem Archiv-Posteingang zu speichern.
- Öffne Outlook und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu:
- Klicke im Menü auf
Einfügen
> Modul
.
- Kopiere den folgenden Code in das Modul:
Sub Anlagen_Speichern(olMail As MailItem)
Dim Ziel As String
Dim Anlagen As Attachments
Dim i As Integer
Ziel = "C:\Bastian\Add\" ' Speicherordner angeben
If Dir(Ziel, vbDirectory) = "" Then Exit Sub
Set Anlagen = olMail.Attachments
If Anlagen.Count > 0 Then
Ziel = Ziel & olMail.Sender & "\"
If Dir(Ziel, vbDirectory) = "" Then MkDir (Ziel)
For i = 1 To Anlagen.Count
If Anlagen.Item(i).Type <> 6 Then
Dim Datei As String
Datei = Ziel & Format(olMail.ReceivedTime, "dd.mm.yyyy") & "_" & Anlagen.Item(i).Filename
Anlagen.Item(i).SaveAsFile Datei ' Anlage speichern
End If
Next i
End If
End Sub
Sub Los()
Dim objNS As Outlook.Namespace
Set objNS = GetNamespace("MAPI")
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
Dim oMail As Outlook.MailItem
For Each oMail In Items
Call Anlagen_Speichern(oMail)
Next
End Sub
- Ändere den Ordner für den Posteingang:
- Um alle Anhänge von mehreren Mails zu speichern, beispielsweise aus dem Archiv, kannst Du den folgenden Code verwenden:
Set Items = objNS.Folders("Archive").Folders("Posteingang").Items
- Führe das Makro aus, indem Du auf
F5
drückst.
Häufige Fehler und Lösungen
-
Fehler: "Ordner nicht gefunden"
Lösung: Stelle sicher, dass der Zielordner existiert. Erstelle ihn gegebenenfalls manuell oder passe den Pfad im Code an.
-
Fehler: "Keine Anhänge gefunden"
Lösung: Überprüfe, ob die Mails tatsächlich Anhänge enthalten. Der Code filtert nur Anhänge, die nicht vom Typ "6" sind.
Alternative Methoden
Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch Drittanbieter-Tools in Betracht ziehen, die speziell für das Speichern von Anhängen aus Outlook entwickelt wurden. Diese Tools ermöglichen es oft, alle Anhänge auf einmal zu speichern und unterstützen verschiedene Dateiformate.
Praktische Beispiele
- Alle Anhänge speichern Outlook: Mit dem obigen VBA-Code kannst Du Anhänge von mehreren Mails speichern, indem Du den Posteingang oder das Archiv angibst.
- Outlook mehrere Anhänge speichern: Ändere den Zielordner, um Anhänge nach Absendern zu organisieren.
Tipps für Profis
- Verwende Variablen: Um den Code sauberer zu gestalten, kannst Du Variablen für die Ordnernamen verwenden.
- Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um Deinen Code robuster zu machen. Beispiel:
On Error Resume Next
' Dein Code hier
On Error GoTo 0
- Performance optimieren: Wenn Du viele Mails verarbeiten musst, kann es helfen, die Verarbeitung in Batches durchzuführen.
FAQ: Häufige Fragen
1. Wie speichere ich alle Anhänge von mehreren Mails in Outlook?
Du kannst den bereitgestellten VBA-Code verwenden, um alle Anhänge aus dem Posteingang oder dem Archiv zu speichern.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten Versionen von Outlook funktionieren, die VBA unterstützen.
3. Wie kann ich die Anhänge automatisch in einem bestimmten Ordner speichern?
Ändere einfach den Ziel
-Pfad im Code auf den gewünschten Speicherort.
4. Kann ich auch Dateitypen filtern?
Ja, passe die Bedingung im Code an, um nur bestimmte Dateitypen zu speichern, indem Du die If
-Bedingung erweiterst.
5. Was mache ich, wenn der Code nicht läuft?
Prüfe, ob Makros in Outlook aktiviert sind und ob der Pfad für den Speicherort korrekt ist.