VBA-Code Outlook Anhänge aus Mails im Posteingang mit bestimmten Absendern auf einen Laufwerksordner ablegen.

Antwort

Um Anhänge aus E-Mails im Outlook-Eingangspostkorb von bestimmten Absendern in einen Ordner auf einem Laufwerk zu speichern, kannst du den folgenden VBA-Code verwenden. Dieser Code durchsucht den Posteingang nach E-Mails von bestimmten Absendern und speichert die Anhänge in einem angegebenen Ordner. ```vba Sub SaveAttachmentsFromSpecificSenders() Dim olApp As Outlook.Application Dim olNs As Outlook.Namespace Dim olFolder As Outlook.MAPIFolder Dim olItem As Object Dim olMail As Outlook.MailItem Dim olAttachment As Outlook.Attachment Dim saveFolder As String Dim senderList As Variant Dim sender As Variant ' Ordner zum Speichern der Anhänge festlegen saveFolder = "C:\Dein\Pfad\Zum\Ordner\" ' Ändere den Pfad entsprechend ' Liste der spezifischen Absender senderList = Array("beispiel1@domain.com", "beispiel2@domain.com") ' Füge hier die gewünschten Absender hinzu ' Outlook-Objekte initialisieren Set olApp = New Outlook.Application Set olNs = olApp.GetNamespace("MAPI") Set olFolder = olNs.GetDefaultFolder(olFolderInbox) ' Durchlaufe alle Elemente im Posteingang For Each olItem In olFolder.Items If TypeOf olItem Is Outlook.MailItem Then Set olMail = olItem ' Überprüfe, ob der Absender in der Liste ist For Each sender In senderList If olMail.SenderEmailAddress = sender Then ' Speichere alle Anhänge For Each olAttachment In olMail.Attachments olAttachment.SaveAsFile saveFolder & olAttachment.FileName Next olAttachment End If Next sender End If Next olItem ' Aufräumen Set olAttachment = Nothing Set olMail = Nothing Set olItem = Nothing Set olFolder = Nothing Set olNs = Nothing Set olApp = Nothing MsgBox "Anhänge wurden gespeichert." End Sub ``` ### Hinweise: 1. **Ordnerpfad anpassen**: Ändere den `saveFolder`-Pfad zu dem gewünschten Speicherort auf deinem Laufwerk. 2. **Absender anpassen**: Füge die E-Mail-Adressen der Absender, von denen du die Anhänge speichern möchtest, in das `senderList`-Array ein. 3. **Sicherheitseinstellungen**: Stelle sicher, dass die Makros in Outlook aktiviert sind, um den Code auszuführen. Dieser Code kann in das VBA-Editor-Fenster von Outlook eingefügt werden (Alt + F11) und dann ausgeführt werden.

Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Wie funktioniert oPPT.Presentations.Open(sFile) in VBA?

Die Methode `oPPT.Presentations.Open(sFile)` stammt aus der Automatisierung von Microsoft PowerPoint mit VBA (Visual Basic for Applications) oder anderen Programmiersprachen, die COM-Automatisierung u... [mehr]

Wie kann ich mit VBA den Wert einer benannten Zelle in eine Zelle eines anderen Arbeitsblatts kopieren?

Um mit VBA den Wert einer Zelle, der ein definierter Name zugewiesen wurde, in eine Zelle eines anderen Arbeitsblatts zu kopieren, kannst du folgenden Code verwenden: ```vba Sub WertKopieren() &#... [mehr]

Mit welcher Funktion kann ich in VBA einen im Arbeitsblatt ermittelten Wert anzeigen?

In VBA kannst du einen Wert, den dein Makro zuvor ermittelt hat, mit der Funktion `MsgBox` anzeigen. Beispiel: ```vba Dim ermittelterWert As Double ermittelterWert = Worksheets("Tabelle1").... [mehr]

Wie lässt sich in Excel VBA der Typ eines Tabellenblatts (Chart oder Worksheet) ermitteln?

In Excel VBA kannst du den Typ eines Tabellenblatts (ob es sich um ein Arbeitsblatt oder ein Diagrammblatt handelt) mit der Type-Eigenschaft des jeweiligen Objekts ermitteln. Hier ein Beispiel: ```vb... [mehr]

Wie kann man in Access VBA die Bildschirmaktualisierung verhindern bzw. den Bildschirm einfrieren?

In Microsoft Access (VBA) gibt es keine direkte Methode wie `Application.ScreenUpdating = False` (wie in Excel), um den Bildschirm während der Ausführung von Code "einzufrieren". D... [mehr]

Wie öffne ich per VBA aus einer Access-Anwendung eine andere Access-Anwendung?

Um aus einer Access-Anwendung per VBA eine andere Access-Anwendung zu öffnen, kannst du das **CreateObject**-Kommando verwenden und die gewünschte Datenbank mit der **OpenCurrentDatabase**-M... [mehr]

Wie kann die VBA-Formel angepasst werden, sodass alle Mitarbeiter in die Zieltabelle übertragen werden?

Hier ist die überarbeitete Version des Makros, die **jeden Mitarbeiter** aus dem Bereich C9:C66 der Quell-Tabelle ("Personen einzelnd drucken") in die Ziel-Tabelle ("Arbeitsplan&qu... [mehr]

VBA: Tabelle prüfen, ob Spalte 3 Werte stehen. Sobald Spalte 3 leer ist, Wert der Spalte 1 kopieren bis zum letzten Wert in Spalte 1.

Um in VBA zu überprüfen, ob in Spalte 3 Werte stehen und bei einer leeren Zelle in Spalte 3 den Wert aus Spalte 1 zu kopieren, kannst du den folgenden Code verwenden. Dieser Code durchlä... [mehr]

Wie lautet der VBA-Code, um aus Excel eine E-Mail zu erstellen mit einem Empfänger im BCC?

Um in Excel mit VBA eine E-Mail zu erstellen, bei der der Empfänger im BCC steht, kannst du folgenden Code verwenden: ```vba Sub SendEmailWithBCC() Dim OutlookApp As Object Dim OutlookMa... [mehr]

Welche Logik steckt hinter VBA?

Die Logik hinter VBA (Visual Basic for Applications) basiert der Programmiersprache Visual Basic, die speziell für die Automatisierung von Aufgaben in Microsoft-Anwendungen wie Excel, Word und Ac... [mehr]