Zum Hauptinhalt springen

Wie kann man Anhänge automatisch drucken, wenn E-Mails in Outlook eintreffen?

Author: Siluvia Last Modified: 2025-05-28

Dieses Tutorial zeigt eine Methode, um ein VBA-Skript und eine Outlook-Regel zu kombinieren, damit Sie Anhänge bestimmter E-Mails automatisch drucken können, wenn sie in Outlook eintreffen.


Anhänge automatisch drucken, wenn bestimmte E-Mails eintreffen

Angenommen, Sie möchten die Anhänge von eingehenden E-Mails eines bestimmten Absenders automatisch drucken. Sie können wie folgt vorgehen, um dies zu erreichen.

Schritt 1: Erstellen Sie ein Skript in Outlook

Zuerst müssen Sie ein VBA-Skript in Outlook erstellen.

1. Starten Sie Ihr Outlook, drücken Sie gleichzeitig die Tasten Alt + F11, um das Fenster Microsoft Visual Basic for Applications zu öffnen.

2. Doppelklicken Sie im Fenster Microsoft Visual Basic for Applications auf Project1 > Microsoft Outlook Objects > ThisOutlookSession, um das Fenster ThisOutlookSession (Code) zu öffnen, und kopieren Sie dann den folgenden Code in dieses Codefenster.

steps of auto printing attachments when emails arrive in Outlook

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

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 einen bestimmten Typ von Anhang drucken möchten, z.B. PDF-Dateien, wenden Sie bitte den folgenden VBA-Code an.

VBA-Code 2: Automatisches Drucken des angegebenen Anhangstyps, wenn E-Mails eintreffen

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 anwenden, um nur die PDF-Datei in den eingehenden E-Mails zu drucken, müssen Sie zuerst Adobe Acrobat Reader herunterladen und installieren und ihn als Standard-PDF-Reader auf Ihrem Computer einstellen.
2. Ändern Sie in der Zeile Case "pdf" das Wort "pdf" in die Dateiendung, die Sie drucken möchten.

3. Klicken Sie auf Extras > Verweise. Aktivieren Sie im Dialogfeld Verweise – Project1 das Kontrollkästchen Microsoft Scripting Runtime, und klicken Sie dann auf die Schaltfläche OK.

steps of auto printing attachments when emails arrive in Outlook

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

Hinweis: Stellen Sie sicher, dass die Option Alle Makros aktivieren in Ihrem Outlook aktiviert ist. Sie können diese Option überprüfen, indem Sie den unten gezeigten Schritten folgen.

steps of auto printing attachments when emails arrive in Outlook
Schritt 2: Erstellen Sie eine Regel zur Verwendung des Skripts

Nachdem Sie das VBA-Skript in Outlook hinzugefügt haben, müssen Sie eine Regel erstellen, um das Skript basierend auf bestimmten Bedingungen zu verwenden.

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

steps of auto printing attachments when emails arrive in Outlook

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

Hinweis: Wenn Sie mehrere E-Mail-Konten zu Ihrem Outlook hinzugefügt haben, geben Sie bitte ein Konto in der Dropdown-Liste Änderungen auf diesen Ordner anwenden an, wo Sie die Regel anwenden möchten. Andernfalls wird sie auf den Posteingang des aktuell ausgewählten E-Mail-Kontos angewendet.

steps of auto printing attachments when emails arrive in Outlook

3. Wählen Sie im ersten Dialogfeld des Regel-Assistenten die Option Regel auf Nachrichten anwenden, die ich empfange im Feld Schritt 1 aus, und klicken Sie dann auf Weiter.

steps of auto printing attachments when emails arrive in Outlook

4. Im zweiten Dialogfeld des Regel-Assistenten müssen Sie:

4.1) Eine oder mehrere Bedingungen im Feld Schritt 1 entsprechend Ihren Anforderungen festlegen;
In diesem Fall möchte ich nur die Anhänge in den eingehenden E-Mails eines bestimmten Absenders drucken. Hier aktiviere ich das Kontrollkästchen von Personen oder öffentlicher Gruppe.
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:
steps of auto printing attachments when emails arrive in Outlook

5. Im dritten Dialogfeld des Regel-Assistenten müssen Sie wie folgt konfigurieren.

5.1) Aktivieren Sie im Abschnitt Schritt 1: Aktion(en) auswählen das Kontrollkästchen Skript ausführen;
5.2) Klicken Sie im Abschnitt Schritt 2 auf den unterstrichenen Text „ein Skript“;
5.3) Klicken Sie im sich öffnenden Dialogfeld Skript auswählen auf den Namen des oben hinzugefügten VBA-Codes, und klicken Sie dann auf OK;
5.4) Klicken Sie auf die Schaltfläche Weiter. Siehe Screenshot:
steps of auto printing attachments when emails arrive in Outlook

Hinweis: Wenn die Option „Skript ausführen“ im Regel-Assistenten fehlt, können Sie sie anzeigen, indem Sie der in diesem Artikel erwähnten Methode folgen: Fehlende Option „Skript ausführen“ in Outlook-Regel wiederherstellen.

6. Dann erscheint ein weiteres Fenster des Regel-Assistenten, das nach Ausnahmen fragt. Sie können die Ausnahmen auswählen, falls nötig, andernfalls klicken Sie ohne Auswahl auf die Schaltfläche Weiter.

steps of auto printing attachments when emails arrive in Outlook

7. Im letzten Fenster des Regel-Assistenten müssen Sie einen Namen für die Regel angeben und dann auf die Schaltfläche Fertig stellen klicken.

steps of auto printing attachments when emails arrive in Outlook

8. Es kehrt zum Dialogfeld Regeln und Benachrichtigungen zurück, und Sie sehen die erstellte Regel aufgelistet. Klicken Sie auf die Schaltfläche OK, um die gesamte Konfiguration abzuschließen.

steps of auto printing attachments when emails arrive in Outlook

Ab jetzt werden die angehängten Dateien automatisch gedruckt, sobald eine E-Mail von der angegebenen Person empfangen wird.


Verwandte Artikel

Nur 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 nur die Anhänge einer bestimmten E-Mail oder ausgewählter E-Mails gedruckt? Dieser Artikel stellt Tricks vor, um diese Aufgabe zu lösen.

Nur den Nachrichtenkopf einer E-Mail in Outlook drucken
Wenn Sie eine E-Mail in Outlook drucken, wird sowohl der Nachrichtenkopf als auch der Nachrichtentext gedruckt. In einigen speziellen Fällen möchten Sie jedoch möglicherweise nur den Nachrichtenkopf mit Betreff, Absender, Empfänger usw. ausdrucken. Dieser Artikel stellt zwei Lösungen dafür vor.

Einen Kalender in einem bestimmten/angepassten Datumsbereich in Outlook drucken
Normalerweise wählt Outlook beim Drucken eines Kalenders in der Monatsansicht automatisch den Monat aus, der das aktuell ausgewählte Datum enthält. Möglicherweise möchten Sie jedoch den Kalender innerhalb eines benutzerdefinierten Datumsbereichs drucken, z.B. 3 Monate, ein halbes Jahr usw. Dieser Artikel stellt Ihnen die Lösung vor.

Einen Kontakt mit Bild in Outlook drucken
Normalerweise wird das Bild eines Kontakts nicht gedruckt, wenn Sie den Kontakt in Outlook drucken. Manchmal kann es jedoch beeindruckender sein, einen Kontakt mit seinem Bild zu drucken. Dieser Artikel stellt einige Workarounds vor, um dies zu erreichen.

Eine Auswahl einer E-Mail in Outlook drucken
Wenn Sie eine E-Mail erhalten und feststellen, dass nur ein Teil des Inhalts ausgedruckt werden muss, anstatt die gesamte Nachricht zu drucken, was würden Sie tun? Tatsächlich kann Outlook Ihnen bei dieser Operation mit Hilfe von Internetbrowsern wie Firefox und Internet Explorer helfen. Hier nehme ich Internetbrowser als Beispiel. Bitte sehen Sie sich die folgenden Tutorials an.

Weitere Artikel über "Drucken in Outlook"...


Beste Office-Produktivitätstools

Eilmeldung: Kutools für Outlook startet kostenlose Version!

Erleben Sie die brandneue kostenlose Version von Kutools für Outlook mit über70 unglaublichen Funktionen, die Sie FÜR IMMER nutzen können! Klicken Sie jetzt, um herunterzuladen!

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

📧 E-Mail-Automatisierung: Automatische Antwort (Verfügbar für POP und IMAP) / E-Mails senden planen / Automatische CC/BCC nach Regeln beim Senden von E-Mails / Automatische Weiterleitung (Erweiterte Regeln) / Automatische Begrüßung hinzufügen / Automatisches Aufteilen von E-Mails mit mehreren Empfängern in einzelne Nachrichten ...

📨 E-Mail-Management: E-Mails zurückrufen / Betrugs-E-Mails nach Betreff und anderen blockieren / Duplikate E-Mails löschen / Erweiterte Suche / Ordner organisieren ...

📁 Anhänge Pro: Stapelspeichern / Stapelablösen / Stapelkomprimieren / Automatisch speichern / Automatisch abtrennen / Automatische Komprimierung ...

🌟 Interface Magic: 😊Mehr hübsche und coole Emojis / Erinnern Sie, wenn wichtige E-Mails kommen / Outlook minimieren statt schließen ...

👍 Ein-Klick-Wunder: Allen mit Anhängen antworten / Anti-Phishing-E-Mails / 🕘Zeitzone des Absenders anzeigen ...

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

Entsperren Sie Kutools für Outlook sofort mit einem Klick. Warten Sie nicht, laden Sie jetzt herunter und steigern Sie Ihre Effizienz!

kutools for outlook features1 kutools for outlook features2