Pääsisältö

Kuinka tulostaa liitteet automaattisesti, kun sähköpostit saapuvat Outlookiin?

Kirjailija: Siluvia Viimeksi muokattu: 2024-09-18

Tämä opetusohjelma esittelee menetelmän yhdistää VBA-komentosarja ja Outlook-sääntö, jotta voit tulostaa automaattisesti tiettyjen sähköpostiviestien liitteet, kun ne saapuvat Outlookiin.


Tulosta liitteet automaattisesti tiettyjen sähköpostien saapuessa

Oletetaan, että haluat tulostaa automaattisesti tietyltä lähettäjältä tulevien sähköpostien liitteet. Voit tehdä sen seuraavasti.

Vaihe 1: Luo skripti Outlookissa

Ensinnäkin sinun on luotava VBA-skripti Outlookissa.

1. Käynnistä Outlook, paina muut + F11 näppäimiä samanaikaisesti avataksesi Microsoft Visual Basic for Applications ikkunassa.

2. Vuonna Microsoft Visual Basic for Applications ikkuna, kaksoisnapsauta Project1 > Microsoft Outlook -objektit > ThisOutlookSession avaa ThisOutlookSession (koodi) -ikkunaan ja kopioi sitten seuraava koodi tähän koodiikkunaan.

liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

VBA-koodi 1: Tulosta automaattisesti liitteet (kaiken tyyppiset liitteet), kun sähköpostit saapuvat

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

Huomautus: Tämä koodi tukee kaikentyyppisten sähköpostien liitteiden tulostamista. Jos haluat tulostaa vain määritetyn tyyppisiä liitteitä, kuten pdf-tiedostoja, käytä seuraavaa VBA-koodia.

VBA-koodi 2: Tulosta automaattisesti tietyn tyyppiset liitteet, kun sähköpostit saapuvat

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

Huomautuksia:

1. Ennen kuin käytät tätä VBA-koodia tulostaaksesi vain pdf-tiedoston saapuvista sähköpostiviesteistä, sinun on ensin ladattava ja asennettava Adobe Acrobat Reader ja aseta se oletusarvoiseksi pdf-lukijaksi tietokoneessasi.
2. Jonossa Asia "pdf", Vaihda Kiitos "pdf" tiedostopäätteeseen, jonka haluat tulostaa.

3. Siirry eteenpäin ja napsauta Työkalut > Viittauksia. Ponnahdusikkunassa Referenssit – Project1 valintaikkunassa, tarkista Microsoft Scripting Runtime -ruutua ja napsauta sitten OK painiketta.

liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

4. Tallenna koodi ja paina muut + Q avaimet sulkeaksesi Microsoft Visual Basic for Applications ikkunassa.

Huomautus: Varmista, että Ota kaikki makrot käyttöön vaihtoehto on käytössä Outlookissasi. Voit tarkistaa tämän vaihtoehdon noudattamalla alla olevia ohjeita.

liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin
Vaihe 2: Luo sääntö komentosarjan käyttöä varten

Kun olet lisännyt VBA-komentosarjan Outlookissa, sinun on luotava sääntö käyttääksesi komentosarjaa tietyin edellytyksin.

1. Siirry Koti-välilehdelle ja napsauta Säännöt > Hallitse sääntöjä ja ilmoituksia.

liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

2. Vuonna Säännöt ja hälytykset valintaikkunassa, napsauta Uusi sääntö -painiketta luodaksesi säännön.

Vinkki: Jos olet lisännyt Outlookiin useita sähköpostitilejä, määritä tili kohdassa Ota muutokset käyttöön tähän kansioon avattavasta luettelosta, johon haluat soveltaa sääntöä. Muussa tapauksessa sitä käytetään valitun sähköpostitilin Saapuneet-kansioon.

liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

3. Ensimmäisessä Ohjattu sääntötoiminto valintaikkunassa, valitse Sovella sääntö vastaanottamiisi viesteihin vuonna Vaihe 1 ja napsauta sitten Seuraava.

liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

4. Toisessa Ohjattu sääntötoiminto valintaikkunassa, sinun tulee:

4.1) Määritä yksi tai useampi ehto kohdassa Vaihe 1 laatikko tarpeidesi mukaan;
Tässä tapauksessa haluan tulostaa vain tietyltä lähettäjältä tulevien sähköpostien liitteet. Tässä tarkistan ihmisiltä tai julkisilta ryhmiltä laatikko.
4.2) Napsauta alleviivattua arvoa Vaihe 2 laatikko muokataksesi ehtoa;
4.3) Napsauta Seuraava. Katso kuvakaappaus:
liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

5. Kolmannessa Ohjattu sääntötoiminto valintaikkunassa, sinun on määritettävä seuraavasti.

5.1) kohdassa Vaihe 1: Valitse toiminto(t) -osio, Tarkista suorittaa komentosarja laatikko;
5.2) kohdassa Vaihe 2 osio, napsauta alleviivattua tekstiä "skripti";
5.3) Avauksessa Valitse Skripti -valintaikkunassa, napsauta yllä lisäämäsi VBA-koodin nimeä ja napsauta sitten OK;
5.4) Napsauta painiketta seuraava -painiketta. Katso kuvakaappaus:
liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

Vinkki: Jos ”suorittaa komentosarja"vaihtoehto puuttuu Ohjattu sääntötoiminto, voit näyttää sen noudattamalla tässä artikkelissa mainittua menetelmää: palauta puuttuva Suorita komentosarjaohjelma Outlook-säännössä.

6. Sitten toinen Ohjattu sääntötoiminto ponnahtaa esiin ja pyytää poikkeuksia. Voit valita poikkeuksia tarvittaessa, muussa tapauksessa napsauta seuraava painiketta ilman valintoja.

liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

7. Viimeisessä Ohjattu sääntötoiminto, sinun on määritettävä säännölle nimi ja napsauta sitten Suorittaa loppuun painiketta.

liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

8. Sitten se palaa kohtaan Säännöt ja hälytykset -valintaikkunassa, näet luomasi säännön luettelossa, napsauta OK -painiketta lopettaaksesi kaikki asetukset.

liitteiden automaattisen tulostamisen vaiheet, kun sähköpostit saapuvat Outlookiin

Tästä eteenpäin, kun sähköposti on vastaanotettu määritetyltä henkilöltä, liitetiedostot tulostetaan automaattisesti.


Liittyvät artikkelit

Tulosta vain liite(t) yhdestä sähköpostista tai valituista sähköpostiviesteistä Outlookissa
Outlookissa voit tulostaa sähköpostit, mutta oletko tulostanut liitteet vain yhdestä sähköpostista vai valituista sähköpostiviesteistä Outlookissa? Tässä artikkelissa esitellään temppuja tämän työn ratkaisemiseksi.

Tulosta vain sähköpostiviestin otsikko Outlookissa
Kun tulostat sähköpostin Outlookissa, se tulostaa sekä viestin otsikon että viestin tekstin. Joissakin erikoistapauksissa saatat kuitenkin joutua tulostamaan viestin otsikon, jossa on aihe, lähettäjä, vastaanottajat jne. Tässä artikkelissa esitellään kaksi ratkaisua sen tekemiseen.

Tulosta kalenteri tietyllä/muokatulla ajanjaksolla Outlookissa
Normaalisti, kun kalenteri tulostetaan Outlookin kuukausinäkymässä, se valitsee automaattisesti kuukauden, joka sisältää valitun päivämäärän. Sinun on kuitenkin ehkä tulostettava kalenteri mukautetulla ajanjaksolla, kuten 3 kuukautta, puoli vuotta jne. Tässä artikkelissa esitellään ratkaisu sinulle.

Tulosta kuvallinen yhteystieto Outlookissa
Yleensä yhteystiedon kuvaa ei tulosteta, kun yhteystieto tulostetaan Outlookissa. Mutta joskus on vaikuttavampaa tulostaa yhteystieto sen kuvalla. Tässä artikkelissa esitellään joitain kiertotapoja sen tekemiseksi.

Tulosta valikoima sähköpostiviestejä Outlookissa
Jos saisit sähköpostiviestin ja huomaat, että sähköpostin sisältö on tulostettava koko viestin sijaan, mitä tekisit? Itse asiassa Outlook voi auttaa sinua saavuttamaan tämän toiminnon Internet-selaimien, kuten Firefoxin ja Internet Explorerin, avulla. Tässä otan esimerkiksi Internet-selaimet. Katso seuraavat opetusohjelmat.

Lisää artikkeleita "tulostamisesta Outlookissa"...


Parhaat toimiston tuottavuustyökalut

Breaking News: Kutools for Outlook julkaisee ilmaisen version!

Koe täysin uusi Kutools for Outlook ILMAINEN versio, jossa on yli 70 uskomatonta ominaisuutta, sinun käytössäsi IKUISESTI! Lataa nyt napsauttamalla!

🤖 Kutools AI : Käyttää edistynyttä tekoälytekniikkaa sähköpostien vaivattoman käsittelyyn, mukaan lukien sähköpostien vastaaminen, yhteenveto, optimointi, laajentaminen, kääntäminen ja kirjoittaminen.

📧 Sähköpostiautomaatio: Automaattinen vastaus (saatavilla POP:lle ja IMAP:lle)  /  Ajoita sähköpostien lähettäminen  /  Automaattinen CC/BCC sääntöjen mukaan lähetettäessä sähköpostia  /  Automaattinen edelleenlähetys (lisäsäännöt)   /  Automaattinen tervehdys   /  Jaa usean vastaanottajan sähköpostit automaattisesti yksittäisiksi viesteiksi ...

📨 Sähköposti Management: Muista sähköpostit  /  Estä huijaussähköpostit aiheiden ja muiden taholta  /  Poista päällekkäiset sähköpostit  /  Tarkennettu Haku  /  Yhdistä kansiot ...

📁 Liitteet ProErätallennus  /  Erä Irrota  /  Eräpakkaus  /  Automaattinen tallennus   /  Automaattinen irrotus  /  Automaattinen pakkaus ...

🌟 Interface Magic: 😊Lisää kauniita ja siistejä emojia   /  Muistuttaa sinua tärkeistä sähköpostiviesteistä  /  Minimoi Outlook sulkemisen sijaan ...

???? Yhden napsautuksen Wonders: Vastaa kaikkiin liitteillä  /   Tietojenkalastelun vastaiset sähköpostit  /  🕘Näytä lähettäjän aikavyöhyke ...

👩🏼‍🤝‍👩🏻 Yhteystiedot ja kalenteri: Erä Lisää yhteystietoja valituista sähköpostiviesteistä  /  Jaa yhteysryhmä yksittäisiin ryhmiin  /  Poista syntymäpäivämuistutukset ...

Avaa Kutools for Outlook välittömästi yhdellä napsautuksella. Älä odota, lataa nyt ja lisää tehokkuuttasi!

kutools Outlook-ominaisuuksille1 kutools Outlook-ominaisuuksille2