Hoe automatisch bijlagen afdrukken wanneer e-mails in Outlook aankomen?
Deze zelfstudie demonstreert een methode om een VBA-script en een Outlook-regel te combineren om u te helpen automatisch bijlagen van bepaalde e-mails af te drukken wanneer ze in Outlook aankomen.
Automatisch bijlagen afdrukken wanneer bepaalde e-mails binnenkomen
Stel dat u bijlagen van inkomende e-mails van een bepaalde afzender automatisch wilt afdrukken. Je kunt het als volgt doen om het voor elkaar te krijgen.
Stap 1: Maak een script in Outlook
Allereerst moet u een VBA-script maken in Outlook.
1. Start uw Outlook, druk op de anders + F11 toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassingen venster.
2. In de Microsoft Visual Basic voor toepassingen venster, dubbelklik op Project1 > Microsoft Outlook-objecten > DezeOutlookSessie om de te openen ThisOutlookSession (code) venster en kopieer vervolgens de volgende code naar dit codevenster.
VBA-code 1: automatisch bijlagen afdrukken (alle soorten bijlagen) wanneer e-mails binnenkomen
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
Opmerking: Deze code ondersteunt het afdrukken van alle soorten bijlagen die in e-mails zijn ontvangen. Als u alleen het opgegeven type bijlage wilt afdrukken, zoals pdf-bestanden, past u de volgende VBA-code toe.
VBA-code 2: Druk automatisch het opgegeven type bijlagen af wanneer e-mails binnenkomen
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
Opmerkingen:
3. Ga je gang en klik op Tools > Referenties. Bij het opduiken Referenties – Project1 dialoogvenster, controleer de Microsoft Scripting-runtime vak en klik vervolgens op het OK knop.
4. Sla de code op en druk op anders + Q toetsen om de Microsoft Visual Basic voor toepassingen venster.
Opmerking: Zorg ervoor dat de Schakel alle macro's in optie is ingeschakeld in uw Outlook. U kunt deze optie aanvinken door de onderstaande stappen te volgen.
Stap 2: Bouw een regel om het script te gebruiken
Nadat u het VBA-script in Outlook hebt toegevoegd, moet u een regel maken om het script te gebruiken op basis van bepaalde voorwaarden.
1. Ga naar het tabblad Home, klik op Reglement > Beheer regels en waarschuwingen.
2. In de Regels en waarschuwingen dialoogvenster, klik op de Nieuwe regel knop om een regel te maken.
Tips: Als u meerdere e-mailaccounts aan uw Outlook heeft toegevoegd, geef dan een account op in de Wijzigingen toepassen op deze map vervolgkeuzelijst waar u de regel wilt toepassen. Anders wordt het toegepast op de inbox van het momenteel geselecteerde e-mailaccount.
3. In de eerste Regels Wizard dialoogvenster, selecteer Regel toepassen op berichten die ik ontvang in de Stap 1 in en klik vervolgens op Next.
4. In de tweede Regels Wizard dialoogvenster, moet u:
5. In de derde Regels Wizard dialoogvenster, moet u als volgt configureren.
Tips: Als de "voer een script uit” optie ontbreekt in uw Regels Wizard, kunt u het weergeven door de methode te volgen die in dit artikel wordt genoemd: herstel ontbrekende Run A Script-optie in Outlook-regel.
6. Dan nog een Regels Wizard verschijnt en vraagt om uitzonderingen. U kunt de uitzonderingen indien nodig selecteren, anders klikt u op de Volgende knop zonder selecties。
7. In de laatste Regels Wizard, moet u een naam voor de regel opgeven en vervolgens op de Finish knop.
8. Daarna keert het terug naar de Regels en waarschuwingen dialoogvenster, kunt u de regel die u hebt gemaakt in de lijst zien, klik op de OK knop om de hele instellingen te voltooien.
Vanaf nu, wanneer een e-mail van de opgegeven persoon wordt ontvangen, worden de bijgevoegde bestanden automatisch afgedrukt.
Gerelateerde artikelen
Alleen bijlage(n) afdrukken vanuit één e-mail of geselecteerde e-mails in Outlook
In Outlook kunt u de e-mails afdrukken, maar hebt u de bijlagen alleen vanuit één e-mail of geselecteerde e-mails in Outlook afgedrukt? Dit artikel introduceert de trucs voor het oplossen van deze taak.
Alleen de berichtkop van een e-mail afdrukken in Outlook
Bij het afdrukken van een e-mail in Outlook, worden zowel de berichtkop als de berichttekst in de e-mail afgedrukt. In sommige speciale gevallen hoeft u echter alleen de berichtkop af te drukken met het onderwerp, de afzender, de ontvangers, enz. Dit artikel introduceert twee oplossingen om dit te doen.
Een kalender afdrukken in een gespecificeerd/aangepast datumbereik in Outlook
Normaal gesproken wordt bij het afdrukken van een kalender in de maandweergave in Outlook automatisch de maand geselecteerd die de momenteel geselecteerde datum bevat. Maar het kan zijn dat u de kalender binnen een aangepast datumbereik moet afdrukken, zoals 3 maanden, een half jaar, enz. Dit artikel introduceert de oplossing voor u.
Een contact met afbeelding afdrukken in Outlook
Normaal gesproken wordt de foto van een contactpersoon niet afgedrukt bij het afdrukken van de contactpersoon in Outlook. Maar soms is het indrukwekkender om een contact met zijn foto af te drukken. Dit artikel introduceert enkele tijdelijke oplossingen om dit voor elkaar te krijgen.
Een selectie van een e-mail afdrukken in Outlook
Als u een e-mailbericht heeft ontvangen en ontdekt dat er een selectie is van de e-mailinhoud die moet worden afgedrukt in plaats van het hele bericht af te drukken, wat zou u dan doen? Eigenlijk kan Outlook u hierbij helpen met behulp van internetbrowsers, zoals Firefox en Internet Explorer. Hier zal ik bijvoorbeeld de internetbrowsers nemen. Bekijk de volgende tutorials.
Beste Office-productiviteitstools
Kutools for Outlook - Meer dan 100 krachtige functies om uw Outlook een boost te geven
🤖 AI Mail-assistent: Directe professionele e-mails met AI-magie: met één klik geniale antwoorden, perfecte toon, meertalige beheersing. Transformeer e-mailen moeiteloos! ...
???? Email Automation: Niet aanwezig (beschikbaar voor POP en IMAP) / Plan het verzenden van e-mails / Automatische CC/BCC volgens regels bij het verzenden van e-mail / Automatisch doorsturen (geavanceerde regels) / Begroeting automatisch toevoegen / Splits e-mails van meerdere ontvangers automatisch op in individuele berichten ...
📨 email management: Gemakkelijk e-mails herinneren / Blokkeer zwendel-e-mails van onderwerpen en anderen / Verwijder dubbele e-mails / Uitgebreid Zoeken / Consolideer mappen ...
📁 Bijlagen Pro: Batch opslaan / Batch losmaken / Batchcompressie / Automatisch opslaan / Automatisch loskoppelen / Automatisch comprimeren ...
???? Interface-magie: 😊Meer mooie en coole emoji's / Verhoog uw Outlook-productiviteit met weergaven met tabbladen / Minimaliseer Outlook in plaats van te sluiten ...
???? Wonderen met één klik: Beantwoord iedereen met inkomende bijlagen / Antiphishing-e-mails / 🕘Toon de tijdzone van de afzender ...
👩🏼🤝👩🏻 Contacten en agenda: Batchcontacten toevoegen uit geselecteerde e-mails / Splits een contactgroep in individuele groepen / Verwijder verjaardagsherinneringen ...
Over 100 Eigenschappen Wacht op je verkenning! Klik hier om meer te ontdekken.