Kako samodejno natisniti priloge, ko e-poštna sporočila prispejo v Outlook?
Ta vadnica prikazuje način združevanja skripta VBA in Outlookovega pravila, ki vam pomaga samodejno natisniti priloge določenih e-poštnih sporočil, ko prispejo v Outlook.
Samodejno natisnite priloge, ko prispejo določena e-poštna sporočila
Predpostavimo, da želite samodejno natisniti priloge dohodnih e-poštnih sporočil določenega pošiljatelja. Če želite to narediti, lahko storite naslednje.
korak: Ustvarite skript v Outlooku
Najprej morate ustvariti skript VBA v Outlooku.
1. Zaženite Outlook, pritisnite druga + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.
2. V Ljubljani Microsoft Visual Basic za aplikacije okno, dvokliknite na Project1 > Predmeti Microsoft Outlook > Ta OutlookSession da odprete ThisOutlookSession (koda) okno in nato v to kodno okno kopirajte naslednjo kodo.
Koda VBA 1: samodejno natisnite priloge (vse vrste prilog), ko prispejo e-poštna sporočila
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
Opomba: Ta koda podpira tiskanje vseh vrst prilog, prejetih v e-poštnih sporočilih. Če želite natisniti samo določeno vrsto priloge, na primer datoteke pdf, uporabite naslednjo kodo VBA.
Koda VBA 2: samodejno natisnite določeno vrsto prilog, ko prispejo e-poštna sporočila
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
Opombe:
3. Pojdite naprej in kliknite Orodja > Reference. V pojavnem oknu Reference – Projekt1 pogovorno okno, preverite Izvajanje Microsoftovih skriptov in nato kliknite OK gumb.
4. Shranite kodo in pritisnite druga + Q tipke za zapiranje Microsoft Visual Basic za aplikacije okno.
Opomba: Prosimo, poskrbite, da bo Omogoči vse makre možnost je omogočena v vašem Outlooku. To možnost lahko preverite tako, da sledite spodnjim korakom.
2. korak: Zgradite pravilo za uporabo skripta
Ko dodate skript VBA v Outlook, morate ustvariti pravilo za uporabo skripta na podlagi določenih pogojev.
1. Pojdite na zavihek Domov in kliknite Pravila > Upravljanje pravil in opozoril.
2. V Ljubljani Pravila in opozorila pogovorno okno, kliknite na Novo pravilo gumb, da ustvarite pravilo.
Nasvet: Če ste v Outlook dodali več e-poštnih računov, navedite račun v Uporabi spremembe v tej mapi spustni seznam, kjer želite uporabiti pravilo. V nasprotnem primeru bo uporabljen v mapi Prejeto trenutno izbranega e-poštnega računa.
3. V prvem Čarovnik za pravila pogovorno okno, izberite Uporabi pravilo o sporočilih, ki jih prejmem v korak 1 in nato kliknite Naslednji.
4. V drugem Čarovnik za pravila pogovorno okno, morate:
5. V tretjem Čarovnik za pravila pogovorno okno, morate konfigurirati na naslednji način.
Nasvet: Če »zaženite skript” manjka možnost v vašem Čarovnik za pravila, ga lahko prikažete na način, omenjen v tem članku: obnovite manjkajočo možnost Zaženi skript v pravilu Outlooka.
6. Potem še eno Čarovnik za pravila se pojavi in prosi za izjeme. Po potrebi lahko izberete izjeme, sicer pa kliknite na Naslednji gumb brez izbire.
7. V zadnjem Čarovnik za pravila, morate določiti ime za pravilo in nato klikniti Konec gumb.
8. Potem se vrne v Pravila in opozorila V pogovornem oknu si lahko ogledate pravilo, ki ste ga ustvarili, navedeno znotraj, kliknite na OK , da končate celotne nastavitve.
Od zdaj naprej, ko prejmemo e-pošto določene osebe, se priložene datoteke samodejno natisnejo.
Sorodni članki
Tiskajte samo prilogo(-e) iz enega e-poštnega sporočila ali izbranih e-poštnih sporočil v Outlooku
V Outlooku lahko natisnete e-poštna sporočila, vendar ste priloge natisnili samo iz enega e-poštnega sporočila ali izbranih e-poštnih sporočil v Outlooku? Ta članek predstavlja trike za reševanje tega dela.
Natisnite samo glavo sporočila e-pošte v Outlooku
Ko tiskate e-pošto v Outlooku, bo natisnil tako glavo sporočila kot telo sporočila v e-pošti. Vendar pa boste v nekaterih posebnih primerih morda morali samo natisniti glavo sporočila z zadevo, pošiljateljem, prejemniki itd. Ta članek bo predstavil dve rešitvi za to.
Natisnite koledar v določenem/prilagojenem časovnem obdobju v Outlooku
Običajno bo pri tiskanju koledarja v mesečnem pogledu v Outlooku samodejno izbral mesec, ki vsebuje trenutno izbrani datum. Morda pa boste morali koledar natisniti v časovnem obdobju po meri, kot so 3 mesece, pol leta itd. Ta članek vam bo predstavil rešitev.
Natisnite stik s sliko v Outlooku
Pri tiskanju stika v Outlooku se slika stika običajno ne natisne. Včasih pa bo bolj impresivno natisniti stik z njegovo sliko. Ta članek bo predstavil nekaj rešitev za to.
Natisnite izbor e-pošte v Outlooku
Če bi prejeli e-poštno sporočilo in ugotovili, da je treba namesto tiskanja celotnega sporočila natisniti izbrano vsebino e-pošte, kaj bi storili? Pravzaprav vam Outlook lahko pomaga pri tej operaciji s pomočjo internetnih brskalnikov, kot sta Firefox in Internet Explorer. Tu bom na primer vzel internetne brskalnike. Oglejte si naslednje vaje.
Najboljša pisarniška orodja za produktivnost
Kutools za Outlook - Več kot 100 zmogljivih funkcij za nadgradnjo vašega Outlooka
🤖 AI poštni pomočnik: Takojšnja profesionalna e-poštna sporočila z umetno inteligenco – z enim klikom do genialnih odgovorov, popoln ton, večjezično znanje. Preoblikujte pošiljanje e-pošte brez napora! ...
📧 Avtomatizacija e-pošte: Odsoten (na voljo za POP in IMAP) / Načrtujte pošiljanje e-pošte / Samodejna CC/BCC po pravilih pri pošiljanju e-pošte / Samodejno naprej (napredna pravila) / Samodejno dodaj pozdrav / E-poštna sporočila več prejemnikov samodejno razdeli na posamezna sporočila ...
📨 Email upravljanje: Enostaven priklic e-pošte / Blokiraj prevarantska e-poštna sporočila glede na teme in druge / Izbriši podvojena e-poštna sporočila / napredno iskanje / Združite mape ...
📁 Priloge Pro: Shrani paket / Batch Detach / Paketno stiskanje / Samodejno shranite / Samodejno loči / Samodejno stiskanje ...
🌟 Vmesnik Magic: 😊Več lepih in kul emojijev / Povečajte Outlookovo produktivnost s pogledi z zavihki / Minimizirajte Outlook, namesto da bi ga zaprli ...
???? Čudeži z enim klikom: Odgovori vsem z dohodnimi prilogami / E-poštna sporočila proti lažnemu predstavljanju / 🕘Pokaži pošiljateljev časovni pas ...
👩🏼🤝👩🏻 Stiki in koledar: Paketno dodajanje stikov iz izbranih e-poštnih sporočil / Razdelite skupino stikov na posamezne skupine / Odstranite opomnike za rojstni dan ...
Over 100 Lastnosti Čakajte na svoje raziskovanje! Kliknite tukaj, če želite odkriti več.