Kako paketno natisniti vse priloge v več e-poštnih sporočilih z Outlookom VBA

Skupna raba zdaj:

Če želite natisniti vse priloge v več izbranih e-poštnih sporočilih v velikem obsegu, lahko uporabite metodo, predstavljeno v tem članku. Uporablja del kode VBA, da to doseže v kratkem času.

Kot lahko vidite, ko izberete eno prilogo, je na traku »Priloge« na voljo neposredna funkcija »Hitro tiskanje«. Ko pa izberete eno prilogo, bo gumb »Hitro tiskanje« onemogočen, da ne omenjamo tiskanja vseh prilog v številnih izbranih e-poštnih sporočilih. Torej, pod pogojem, da želite paketno natisniti vse priloge v več e-poštnih sporočilih naenkrat, morate poiskati druge načine, kot so orodja tretjih oseb ali VBA. Osredotočeni na to potrebo, vam bomo tukaj izpostavili delček kode VBA, ki vam lahko pomaga, da jo dobite preprosto z enim klikom.

Paketno tiskanje vseh prilog v več e-poštnih sporočilih z Outlookom VBA

Paketno tiskanje vseh prilog v več e-poštnih sporočilih

  1. Na začetku zaženite aplikacijo Outlook.
  2. Nato v glavnem oknu pritisnite tipki »Alt + F11« za dostop do urejevalnika VBA.
  3. V naslednjem oknu »Microsoft Visual Basic for Applications« odprite prazen modul.
  4. Nato kopirajte naslednje kode VBA v takšen modul.
Sub BatchPrintAllAttachmentsinMultipleEmails()
    Dim objFileSystem As Object
    Dim strTempFolder As String
    Dim objSelection As Outlook.Selection
    Dim objItem As Object
    Dim objMail As Outlook.MailItem
    Dim objAttachments As Outlook.attachments
    Dim objAttachment As Outlook.Attachment
    Dim objShell As Object
    Dim objTempFolder As Object
    Dim objTempFolderItem As Object
    Dim strFilePath As String
 
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\Temp for Attachments " & Format(Now, "YYYY-MM-DD_hh-mm-ss")
    'Create a new temp folder
    MkDir (strTempFolder)
 
    Set objSelection = Outlook.Application.ActiveExplorer.Selection
 
    For Each objItem In objSelection
        If TypeOf objItem Is MailItem Then
           Set objMail = objItem
           Set objAttachments = objMail.attachments
 
           'Save all the attachments in the temp folder
           For Each objAttachment In objAttachments
               strFilePath = strTempFolder & "\" & objAttachment.FileName
               objAttachment.SaveAsFile (strFilePath)
 
               'Print all the files in the temp folder
               Set objShell = CreateObject("Shell.Application")
               Set objTempFolder = objShell.NameSpace(0)
               Set objTempFolderItem = objTempFolder.ParseName(strFilePath)
               objTempFolderItem.InvokeVerbEx ("print")
           Next objAttachment
        End If
    Next
End Sub

Koda VBA - Natisnite vse priloge v več sporočilih

  1. Pozneje lahko dodate nov makro v orodno vrstico za hitri dostop.
  2. Po tem bi morali nastaviti raven varnosti makra Outlook na nizko.
  3. Sčasoma lahko poskusite.
  • Najprej na poštnem seznamu izberite več e-poštnih sporočil, katerih priloge želite natisniti.
  • Nato v orodni vrstici za hitri dostop kliknite nov gumb makra.
  • Nato bodo natisnjene vse priloge v izbranih e-poštnih sporočilih.

Pazite se virusov, skritih v makrih

Če ste konfigurirali raven varnosti Outlookovega makra na nizko, se morate zelo potruditi, da blokirate potencialne viruse v zlonamernih makrih. To je zato, ker lahko virusi naenkrat uničijo vaše Outlookove podatke. Ko so vaši Outlookovi podatki poškodovani, se boste potrudili po najboljših močeh obnoviti Outlook podatkov z vsemi sredstvi, kot je ponavljanje zmogljivega orodja, kot je DataNumen Outlook Repair.

Uvod avtorja:

Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z pokvarjen sql in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com

Skupna raba zdaj:

Komentarji so zaprti.