KutoolsforOffice — Eine Lösung, fünf leistungsstarke Tools.Mehr erreichen mit weniger Aufwand.März-Aktion: 20 % Rabatt

Wie druckt man Anhänge automatisch, sobald E-Mails in Outlook eingehen?

AutorSiluvia Änderungsdatum

Dieses Tutorial zeigt eine Methode, bei der ein VBA-Skript und eine Outlook-Regel kombiniert werden, um Anhänge bestimmter E-Mails automatisch zu drucken, sobald sie in Outlook eingehen.


Anhänge automatisch drucken, sobald bestimmte E-Mails eingehen

Angenommen, Sie möchten Anhänge eingehender E-Mails eines bestimmten Absenders automatisch drucken – so geht’s:

Schritt 1: Erstellen eines Skripts in Outlook

Zunächst erstellen Sie ein VBA-Skript in Outlook.

1. Starten Sie Outlook und drücken Sie gleichzeitig die Tasten Alt+F11, um das Fenster Microsoft Visual Basic für Applikationen zu öffnen.

2. Doppelklicken Sie im Fenster Microsoft Visual Basic für Applikationen auf Projekt1 > Microsoft Outlook-Objekte > ThisOutlookSession, um das Fenster ThisOutlookSession (Code) zu öffnen, und fügen Sie dann den folgenden Code in dieses Codefenster ein.

Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

VBA-Code 1: Anhänge (alle Arten von Anhängen) automatisch drucken, sobald E-Mails eingehen

Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20230223
  Dim xFS As FileSystemObject
  Dim xTempFolder As String
  Dim xAtt As Attachment
  Dim xShell As Object
  Dim xFolder As Object, xFolderItem As Object
  Dim xFileName As String
  On Error GoTo xError
  If Item.Attachments.Count = 0 Then Exit Sub
  Set xFS = New FileSystemObject
  xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
  xTempFolder = xTempFolder & "\ATMP" & Format(Item.ReceivedTime, "yyyymmddhhmmss")
  If Not xFS.FolderExists(xTempFolder) Then
    MkDir (xTempFolder)
  End If
  Set xShell = CreateObject("Shell.Application")
  Set xFolder = xShell.NameSpace(0)
  For Each xAtt In Item.Attachments
    If IsEmbeddedAttachment(xAtt) = False Then
      xFileName = xTempFolder & "\" & xAtt.FileName
      xAtt.SaveAsFile (xFileName)
      Set xFolderItem = xFolder.ParseName(xFileName)
      xFolderItem.InvokeVerbEx ("print")
    End If
  Next xAtt
  Set xFS = Nothing
  Set xFolder = Nothing
  Set xFolderItem = Nothing
  Set xShell = Nothing
xError:
  If Err <> 0 Then
    MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
    Err.Clear
  End If
Exit Sub
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

Hinweis: Dieser Code unterstützt das Drucken aller Arten von Anhängen, die in E-Mails empfangen werden. Wenn Sie nur Anhänge eines bestimmten Typs drucken möchten – beispielsweise PDF-Dateien –, verwenden Sie stattdessen den folgenden VBA-Code.

VBA-Code 2: Den angegebenen Anhangstyp automatisch drucken, sobald E-Mails eingehen

Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20230223
  Dim xFS As FileSystemObject
  Dim xTempFolder As String
  Dim xAtt As Attachment
  Dim xShell As Object
  Dim xFolder As Object, xFolderItem As Object
  Dim xFileType As String, xFileName As String
  On Error GoTo xError
  If Item.Attachments.Count = 0 Then Exit Sub
  Set xFS = New FileSystemObject
  xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
  xTempFolder = xTempFolder & "\ATMP" & Format(Item.ReceivedTime, "yyyymmddhhmmss")
  If Not xFS.FolderExists(xTempFolder) Then
    MkDir (xTempFolder)
  End If
  Set xShell = CreateObject("Shell.Application")
  Set xFolder = xShell.NameSpace(0)
  For Each xAtt In Item.Attachments
    If IsEmbeddedAttachment(xAtt) = False Then
      xFileName = xAtt.FileName
      xFileType = LCase$(Right$(xFileName, VBA.Len(xFileName) - VBA.InStrRev(xFileName, ".")))
      xFileName = xTempFolder & "\" & xFileName
      Select Case xFileType
        Case "pdf"   'change "pdf" to the file extension you want to print
          xAtt.SaveAsFile (xFileName)
          Set xFolderItem = xFolder.ParseName(xFileName)
          xFolderItem.InvokeVerbEx ("print")
      End Select
    End If
  Next xAtt
  Set xFS = Nothing
  Set xFolder = Nothing
  Set xFolderItem = Nothing
  Set xShell = Nothing
xError:
  If Err <> 0 Then
    MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
    Err.Clear
  End If
  Exit Sub
End Sub

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

Hinweise:

1. Bevor Sie diesen VBA-Code verwenden, um ausschließlich PDF-Dateien in eingehenden E-Mails zu drucken, müssen Sie zunächst Adobe Acrobat Readerherunterladen, installieren und als Standard-PDF-Reader auf Ihrem Computer festlegen.
2. Ändern Sie in der Zeile Case „pdf"den Wert „pdf"in die Dateierweiterung, die Sie drucken möchten.

3. Klicken Sie auf Extras > Verweise. Aktivieren Sie im erscheinenden Dialogfeld Verweise – Projekt1 das Kontrollkästchen Microsoft Scripting Runtime und klicken Sie anschließend auf die Schaltfläche OK.

Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

4. Speichern Sie den Code und drücken Sie die Tasten Alt + Q, um das Fenster Microsoft Visual Basic für Applikationen zu schließen.

Hinweis: Stellen Sie sicher, dass die Option Alle Makros aktivieren in Ihrem Outlook aktiviert ist. Sie können diese Einstellung überprüfen, indem Sie die unten beschriebenen Schritte ausführen.

Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen
Schritt 2: Erstellen einer Regel zur Verwendung des Skripts

Nachdem Sie das VBA-Skript in Outlook hinzugefügt haben, erstellen Sie eine Regel, um das Skript unter bestimmten Bedingungen auszuführen.

1. Wechseln Sie zur Registerkarte Start und klicken Sie auf Regeln > Regeln und Benachrichtigungen verwalten.

Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

2. Klicken Sie im Dialogfeld Regeln und Benachrichtigungen auf die Schaltfläche Neue Regel, um eine Regel zu erstellen.

Tipp: Falls Sie mehrere E-Mail-Konten in Outlook eingerichtet haben, wählen Sie in der Dropdown-Liste Änderungen auf diesen Ordner anwenden das Konto aus, auf das die Regel angewendet werden soll. Andernfalls wird sie auf den Posteingang des aktuell ausgewählten Kontos angewendet.

Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

3. Wählen Sie im ersten Regel-Assistent-Dialogfeld im Feld Schritt 1 die Option Regel auf empfangene Nachrichten anwenden aus, und klicken Sie anschließend auf Weiter.

Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

4. Im zweiten Regel-Assistent-Dialogfeld müssen Sie Folgendes tun:

4,1) Legen Sie im Feld Schritt 1eine oder mehrere Bedingungen entsprechend Ihren Anforderungen fest;
In diesem Fall möchte ich nur Anhänge eingehender E-Mails von einem bestimmten Absender drucken. Daher aktiviere ich hier das Kontrollkästchen von Personen oder öffentlichen Gruppen.
4,2) Klicken Sie auf den unterstrichenen Wert im Feld Schritt 2, um die Bedingung zu bearbeiten;
4,3) Klicken Sie auf Weiter.Siehe Screenshot:
Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

5. Im dritten Regel-Assistent-Dialogfeld müssen Sie die folgenden Einstellungen vornehmen.

5,1) Im Schritt 1: Abschnitt „Aktion(en) auswählen“, aktivieren Sie das Kontrollkästchen Skript ausführen;
5,2) Im Schritt 2klicken Sie auf den unterstrichenen Text „ein Skript“;
5,3) Klicken Sie im geöffneten Skript auswählen-Dialogfeld auf den Namen des oben hinzugefügten VBA-Codes und anschließend auf OK;
5,4) Klicken Sie auf die Schaltfläche Weiter. Siehe Screenshot:
Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

Tipp: Falls die Option „Skript ausführen“ in Ihrem Regel-Assistenten fehlt, können Sie sie mithilfe der in diesem Artikel beschriebenen Methode wiederherstellen: Fehlende Option „Skript ausführen“ in Outlook-Regel wiederherstellen.

6. Anschließend erscheint ein weiteres Regel-Assistent-Dialogfeld, in dem Ausnahmen abgefragt werden. Wählen Sie gegebenenfalls Ausnahmen aus; andernfalls klicken Sie ohne Auswahl auf die Schaltfläche Weiter.

Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

7. Geben Sie im letzten Regel-Assistent einen Namen für die Regel an, und klicken Sie anschließend auf die Schaltfläche Fertig stellen.

Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

8. Danach kehren Sie zum Dialogfeld Regeln und Benachrichtigungen zurück. Die erstellte Regel wird dort aufgelistet. Klicken Sie auf die Schaltfläche OK, um die gesamte Einrichtung abzuschließen.

Schritte zum automatischen Drucken von Anhängen, wenn E-Mails in Outlook eingehen

Ab sofort wird der Anhang automatisch gedruckt, sobald eine E-Mail von der angegebenen Person empfangen wird.


Verwandte Artikel

Nur Anhang/Anhänge einer E-Mail oder ausgewählter E-Mails in Outlook drucken
In Outlook können Sie E-Mails drucken – aber haben Sie schon einmal ausschließlich die Anhänge einer einzelnen oder mehrerer ausgewählter E-Mails gedruckt? Dieser Artikel zeigt Ihnen, wie’s geht.

Nur den Nachrichtenkopf einer E-Mail in Outlook drucken
Beim Drucken einer E-Mail in Outlook werden standardmäßig sowohl der Nachrichtenkopf als auch der Nachrichtentext gedruckt. In bestimmten Situationen benötigen Sie jedoch möglicherweise nur den Nachrichtenkopf – inklusive Betreff, Absender, Empfänger und weiterer Metadaten. Dieser Artikel stellt zwei praktische Lösungen dafür vor.

Einen Kalender in einem festgelegten oder benutzerdefinierten Datumsbereich in Outlook drucken
Normalerweise wählt Outlook beim Drucken eines Kalenders in der Monatsansicht automatisch den Monat aus, der das aktuell markierte Datum enthält. Möglicherweise möchten Sie den Kalender aber über einen individuellen Zeitraum drucken – etwa drei Monate oder ein halbes Jahr. Dieser Artikel zeigt Ihnen, wie’s geht.

Einen Kontakt mit Foto in Outlook drucken
Standardmäßig wird das Foto eines Kontakts beim Drucken in Outlook nicht mitgedruckt. In bestimmten Situationen wirkt ein Kontakt jedoch deutlich eindrucksvoller, wenn er zusammen mit seinem Foto gedruckt wird. Dieser Artikel zeigt Ihnen praktische Umgehungslösungen dafür.

Einen Ausschnitt einer E-Mail in Outlook drucken
Angenommen, Sie erhalten eine E-Mail und möchten nur einen bestimmten Ausschnitt des Inhalts – nicht die gesamte Nachricht – drucken. Wie gehen Sie in diesem Fall vor? Tatsächlich können Sie diese Aufgabe in Outlook mithilfe von Internetbrowsern wie Firefox oder Internet Explorer erledigen. Im Folgenden erklären wir Schritt für Schritt, wie das funktioniert. Beachten Sie dazu bitte die nachstehenden Anleitungen.

Weitere Artikel zum Thema „Drucken in Outlook“...


Beste Office-Produktivitätswerkzeuge

Erleben Sie das komplett neue Kutools für Outlook mit 100+ unglaublichen Funktionen!Jetzt zum Download klicken!

🤖KUTOOLS AI:Nutzt fortschrittliche KI-Technologie, um E-Mails mühelos zu verwalten – einschließlich Beantworten, Zusammenfassen, Optimieren, Erweitern, Übersetzen und Verfassen von E-Mails.

📧E-Mail-Automatisierung: Automatische Antworten (verfügbar für POP und IMAP) / E-Mails zeitgesteuert versenden / Beim Senden automatisch CC/BCC basierend auf Regeln hinzufügen / Automatische Weiterleitung (Erweiterte Regeln) / Automatische Grußformel einfügen / Mehrfachadressierte E-Mails automatisch in Einzelnachrichten aufteilen

📨E-Mail-Verwaltung: E-Mails zurückrufen, Betrugs-E-Mails anhand von Betreffzeilen und weiteren Kriterien blockieren, doppelte E-Mails löschen, Erweiterte Suche, Ordner organisieren

📁Anhänge Pro: Stapelweise speichern / Stapelweise lösen / Stapelweise komprimieren / Automatisch speichern / Automatisch abtrennen / Automatische Komprimierung

🌟Oberflächenzauber:😊Noch mehr hübsche und coole Emojis/Benachrichtigung bei wichtigen eingehenden E-Mails/Outlook minimieren statt schließen...

👍Ein-Klick-Wunder: Allen mit Anhängen antworten / Anti-Phishing-E-Mails / 🕘Aktuelle Uhrzeit der Absender-Zeitzone anzeigen...

👩🏼‍🤝‍👩🏻Kontakte & Kalender:Stapelweise Kontakte aus ausgewählten E-Mails hinzufügen/Eine Kontaktgruppe in einzelne Kontakte aufteilen/Geburtstagserinnerung entfernen...

Nutzen Sie Kutools in Ihrer bevorzugten Sprache – mit Unterstützung für Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über 40 weitere Sprachen!

Kutools für Outlook mit nur einem Klick sofort freischalten! Warten Sie nicht – laden Sie jetzt herunter und steigern Sie Ihre Effizienz!

kutools for outlook features1kutools for outlook features2

🚀 Ein-Klick-Download – Holen Sie sich alle Office-Add-Ins

Stark empfohlen: Kutools for Office (5-in-1)

Mit einem Klick fünf Installationsprogrammegleichzeitig herunterladen –Kutools für Excel, Outlook, Word, PowerPointund Office Tab Pro.Jetzt zum Download klicken!

  • Ein-Klick-Komfort: Laden Sie alle fünf Installationspakete mit nur einem Klick herunter.
  • 🚀Bereit für jede Office-Aufgabe: Installieren Sie die Add-Ins, die Sie brauchen – genau dann, wenn Sie sie benötigen.
  • 🧰Enthalten: Kutools für Excel / Kutools für Outlook / Kutools für Word / Office Tab Pro / Kutools for PowerPoint