Wie drucke ich eine E-Mail mit Anhang in Microsoft Outlook per VBA-Befehl?

Antwort

Um eine E-Mail mit Anhang in Microsoft Outlook per VBA auszudrucken, kannst du folgenden VBA-Code verwenden: ```vba Sub PrintEmailWithAttachments() Dim objMail As Outlook.MailItem Dim objAttachment As Outlook.Attachment Dim tempFolder As String Dim tempFilePath As String ' Set the mail item (hier musst du die entsprechende E-Mail auswählen) Set objMail = Application.ActiveExplorer.Selection.Item(1) ' Temporäres Verzeichnis für Anhänge tempFolder = Environ("TEMP") & "\OutlookAttachments\" If Dir(tempFolder, vbDirectory) = "" Then MkDir tempFolder End If ' Anhänge speichern und drucken For Each objAttachment In objMail.Attachments tempFilePath = tempFolder & objAttachment.FileName objAttachment.SaveAsFile tempFilePath Shell "rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_PrintTo " & tempFilePath & " " & Application.Printer, vbHide Next objAttachment ' E-Mail drucken objMail.PrintOut End Sub ``` Dieser Code speichert die Anhänge der ausgewählten E-Mail in einem temporären Verzeichnis und druckt sie anschließend aus. Danach wird die E-Mail selbst gedruckt. Beachte, dass der Code davon ausgeht, dass die E-Mail im aktiven Explorer-Fenster ausgewählt ist. Weitere Informationen zu VBA in Outlook findest du in der offiziellen Dokumentation von Microsoft: [Microsoft Outlook VBA](https://docs.microsoft.com/de-de/office/vba/api/overview/outlook).

Kategorie: Software Tags: Outlook VBA Drucken
Neue Frage stellen

Verwandte Fragen

Wie speichere ich im klassischen Outlook ein Formular als Standardformular für Nachrichten oder nutze es bei Bedarf?

Um im klassischen Outlook (z. B. Outlook 2016, 2019 oder Outlook für Microsoft 365 im klassischen Modus) ein benutzerdefiniertes Formular als Standardformular für Nachrichten zu speichern od... [mehr]

Wie kann man mehrere Sheets in Excel mit VBA gleichzeitig sichtbar machen?

In VBA (Visual Basic for Applications) kannst du mehrere Arbeitsblätter nicht direkt in einer Zeile wie in deinem Beispiel sichtbar machen. Der Ausdruck `Sheets("TP1", "TP2").... [mehr]

Warum werden meine Serientermine in Outlook nicht mehr angezeigt?

Wenn Serientermine in Outlook nicht mehr angezeigt werden, können verschiedene Ursachen vorliegen. Hier sind einige häufige Gründe und Lösungsvorschläge: 1. **Ansichtseinstel... [mehr]

Outlook: Was bedeutet der Fehler beim Senden einer Nachricht?

Die Fehlermeldung „Problem beim Senden dieser Nachricht“ in Outlook kann verschiedene Ursachen haben. Häufige Gründe sind: 1. **Falsche Kontoeinstellungen:** Überprüfe... [mehr]

Wie richte ich Outlook für einen neuen Benutzer ein?

Um Outlook für einen neuen Benutzer einzurichten, gehe wie folgt vor: 1. **Outlook starten:** Öffne Microsoft Outlook auf dem Computer des neuen Benutzers. 2. **Profil erstellen:** Beim er... [mehr]

Gibt es VBA für Word, wie unterscheidet es sich von VBA für Excel und wofür wird es hauptsächlich verwendet?

Ja, es gibt auch VBA (Visual Basic for Applications) für Word. VBA ist eine Programmiersprache, die in vielen Microsoft-Office-Anwendungen wie Excel, Word, PowerPoint und Access integriert ist.... [mehr]

Wie kann man Personio mit dem Outlook Kalender verbinden?

Um Personio mit deinem Outlook-Kalender zu verbinden, gehst du wie folgt vor: 1. **In Personio anmelden:** Logge dich in dein Personio-Konto ein. 2. **Zum Kalender-Export navigieren:** Gehe zu &bdquo... [mehr]

Wirken sich Application.OnKey und Application.CommandBars auf andere geöffnete Excel-Dateien aus?

Ja, sowohl `Application.OnKey` als auch `Application.CommandBars` wirken sich auf die gesamte Excel-Anwendung aus – und damit auf **alle geöffneten Arbeitsmappen** (Excel-Dateien) in dieser... [mehr]

Wie füge ich weitere Adressen in Outlook hinzu?

Um weitere Adressen in Outlook aufzunehmen, kannst du neue Kontakte anlegen. Das geht so: 1. **Outlook öffnen.** 2. Im linken Menü auf **"Personen"** oder das Kontakte-Symbol klic... [mehr]

Wie zeige ich per VBA in Excel eine Messagebox an, wenn ein bestimmter Wert überschritten oder erreicht wird?

Um in Excel mit VBA eine MessageBox anzuzeigen, wenn ein bestimmter Wert überschritten oder gleich ist, kannst du beispielsweise folgenden Code verwenden. Angenommen, du möchtest prüfen... [mehr]