Hvordan udskriver man automatisk vedhæftede filer, når e-mails ankommer i Outlook?
Denne vejledning viser en metode til at kombinere et VBA-script og en Outlook-regel for at hjælpe dig med automatisk at udskrive vedhæftede filer til bestemte e-mails, når de ankommer til Outlook.
Udskriv automatisk vedhæftede filer, når visse e-mails ankommer
Antag, at du vil udskrive vedhæftede filer af indgående e-mails fra en bestemt afsender automatisk. Du kan gøre som følger for at få det gjort.
Trin 1: Opret et script i Outlook
For det første skal du oprette et VBA-script i Outlook.
1. Start din Outlook, tryk på andre + F11 taster samtidigt for at åbne Microsoft Visual Basic til applikationer vindue.
2. i Microsoft Visual Basic til applikationer vindue, dobbeltklik på Project1 > Microsoft Outlook-objekter > Denne OutlookSession at åbne ThisOutlookSession (kode) vindue, og kopier derefter følgende kode ind i dette kodevindue.
VBA-kode 1: Udskriv automatisk vedhæftede filer (alle typer vedhæftede filer), når e-mails ankommer
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
Bemærk: Denne kode understøtter udskrivning af alle typer vedhæftede filer modtaget i e-mails. Hvis du kun ønsker at udskrive den angivne type vedhæftet fil, såsom pdf-filer, skal du anvende følgende VBA-kode.
VBA-kode 2: Udskriv automatisk den angivne type vedhæftede filer, når e-mails ankommer
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
Noter:
3. Gå videre og klik Værktøjer > Referencer. I dukker op Referencer – Projekt 1 dialogboksen, skal du kontrollere Microsoft Scripting Runtime og klik derefter på OK .
4. Gem koden, og tryk på andre + Q taster for at lukke Microsoft Visual Basic til applikationer vindue.
Bemærk: Sørg for at Aktivér alle makroer indstillingen er aktiveret i din Outlook. Du kan markere denne mulighed ved at følge trinene vist nedenfor.
Trin 2: Byg en regel for at bruge scriptet
Efter at have tilføjet VBA-scriptet i Outlook, skal du oprette en regel for at bruge scriptet baseret på visse betingelser.
1. Gå til fanen Hjem, klik Regler > Administrer regler og advarsler.
2. i Regler og advarsler dialogboksen, skal du klikke på knappen Ny regel knap for at oprette en regel.
tips: Hvis du har tilføjet flere e-mail-konti til din Outlook, skal du angive en konto i Anvend ændringer på denne mappe rullemenuen, hvor du vil anvende reglen. Ellers vil det blive anvendt på indbakken på den aktuelt valgte e-mail-konto.
3. I den første Guiden til regler dialogboksen, vælg Anvend regel på meddelelser, jeg modtager i Trin 1 boks, og klik derefter på Næste.
4. I det andet Guiden til regler dialogboks skal du:
5. I det tredje Guiden til regler dialogboks, skal du konfigurere som følger.
tips: Hvis "køre et script” mulighed mangler i din Guiden til regler, kan du vise det ved at følge metoden nævnt i denne artikel: gendan manglende Kør en script-ption i Outlook-reglen.
6. Så en anden Guiden til regler dukker op og spørger om undtagelser. Du kan vælge undtagelserne, hvis det er nødvendigt, ellers skal du klikke på Næste knap uden valg.
7. I det sidste Guiden til regler, skal du angive et navn til reglen og derefter klikke på Finish .
8. Derefter vender det tilbage til Regler og advarsler dialogboksen, kan du se den regel, du oprettede, listet inde, klik på OK for at afslutte alle indstillingerne.
Fra nu af, når en e-mail fra den angivne person modtages, vil de vedhæftede filer blive udskrevet automatisk.
Relaterede artikler
Udskriv kun vedhæftede filer fra én e-mail eller udvalgte e-mails i Outlook
I Outlook kan du udskrive mails, men har du kun udskrevet de vedhæftede filer fra én mail eller udvalgte mails i Outlook? Denne artikel introducerer tricks til at løse dette job.
Udskriv kun meddelelseshoved på en e-mail i Outlook
Når du udskriver en e-mail i Outlook, udskriver den både meddelelseshoved og meddelelsestekst i e-mailen. Men i nogle specielle tilfælde skal du muligvis bare udskrive meddelelseshovedet med emne, afsender, modtagere osv. Denne artikel introducerer to løsninger til at gøre det.
Udskriv en kalender i et specificeret/tilpasset datointerval i Outlook
Normalt, når du udskriver en kalender i månedsvisning i Outlook, vil den automatisk vælge den måned, der indeholder den aktuelt valgte dato. Men du skal muligvis udskrive kalenderen inden for et tilpasset datointerval, såsom 3 måneder, et halvt år osv. Denne artikel introducerer løsningen for dig.
Udskriv en kontakt med billede i Outlook
Normalt udskrives en kontakts billede ikke, når kontakten udskrives i Outlook. Men nogle gange vil det være mere imponerende at udskrive en kontakt med sit billede. Denne artikel vil introducere nogle løsninger til at få det gjort.
Udskriv et udvalg af en e-mail i Outlook
Hvis du modtog en e-mail-besked og fandt ud af, at der er et udvalg af e-mail-indholdet, der skal udskrives i stedet for at udskrive hele meddelelsen, hvad ville du gøre? Faktisk kan Outlook hjælpe dig med at opnå denne handling ved hjælp af internetbrowsere, såsom Firefox og Internet Explorer. Her vil jeg tage internetbrowserne for eksempel. Se venligst følgende tutorials.
Bedste kontorproduktivitetsværktøjer
Kutools til Outlook - Over 100 kraftfulde funktioner til at superlade din Outlook
🤖 AI Mail Assistant: Øjeblikkelige pro-e-mails med AI-magi – et klik for geniale svar, perfekt tone, flersproget beherskelse. Forvandl e-mailing ubesværet! ...
📧 Email Automation: Ikke til stede (tilgængelig til POP og IMAP) / Planlæg Send e-mails / Auto CC/BCC efter regler ved afsendelse af e-mail / Automatisk videresendelse (avancerede regler) / Tilføj automatisk hilsen / Opdel automatisk e-mails med flere modtagere i individuelle meddelelser ...
📨 Email Management: Genkald nemt e-mails / Bloker svindel-e-mails af emner og andre / Slet duplikerede e-mails / Avanceret søgning / Konsolider mapper ...
📁 Vedhæftede filer Pro: Batch Gem / Batch adskilles / Batch komprimere / Automatisk gem / Automatisk afmontering / Automatisk komprimering ...
🌟 Interface Magic: 😊 Flere smukke og seje emojis / Boost din Outlook-produktivitet med fanebaserede visninger / Minimer Outlook i stedet for at lukke ...
👍 Wonders med et enkelt klik: Besvar alle med indgående vedhæftede filer / Anti-phishing e-mails / 🕘Vis afsenderens tidszone ...
👩🏼🤝👩🏻 Kontakter og kalender: Batch Tilføj kontakter fra udvalgte e-mails / Opdel en kontaktgruppe til individuelle grupper / Fjern fødselsdagspåmindelser ...
Over 100 Features Afvent din udforskning! Klik her for at finde mere.