Kuidas Outlook VBA abil pakettprintida mitmes meilis olevaid manuseid

Kui soovite kõik mitme valitud meili manused hulgi välja printida, saate kasutada selles artiklis kirjeldatud meetodit. Selle kiireks saavutamiseks kasutab see tükk VBA-koodi.

Nagu näete, on ühe manuse valimisel otsene kiirprintimise funktsioon saadaval lindil "Manused". Kui aga valite rohkem kui ühe manuse, keelatakse nupp Kiirprintimine, rääkimata paljude valitud meilide kõigi manuste printimisest. Seega, eeldusel, et soovite kõik manused korraga mitmes kirjas printida, peate otsima muid võimalusi, näiteks mis tahes kolmanda osapoole tööriistu või VBA-d. Sellele vajadusele keskendudes tutvustame teile siin VBA-koodi, mis aitab teil selle ühe klõpsuga hankida.

Kõigi manuste partii printimine mitmes meilis Outlook VBA abil

Printige kõik manused mitmesse e-kirja

  1. Käivitage kohe alguses oma Outlooki rakendus.
  2. Seejärel vajutage põhiaknas VBA redaktori avamiseks klahvikombinatsiooni Alt + F11.
  3. Järgmises aknas "Microsoft Visual Basic for Applications" avage tühi moodul.
  4. Järgmisena kopeerige järgmised VBA koodid sellisesse moodulisse.
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

VBA kood – printige kõik manused mitmes kirjas

  1. Seejärel saate lisada uue makro kiirpääsu tööriistaribale.
  2. Pärast seda peaksite oma Outlooki makro turvataseme määrama madalaks.
  3. Lõpuks saate proovida.
  • Esiteks valige meililoendis mitu meili, mille manuseid soovite printida.
  • Seejärel klõpsake kiirjuurdepääsu tööriistaribal uut makro nuppu.
  • Järgmisena prinditakse välja kõik valitud meilide manused.

Hoiduge makrodesse peidetud viiruste eest

Kui olete konfigureerinud oma Outlooki makro turvataseme madalaks, peate kulutama palju pingutusi, et blokeerida võimalikud viirused pahatahtlikes makrodes. Põhjus on selles, et viirused võivad teie Outlooki andmed ühe korraga hävitada. Kui teie Outlooki andmed on rikutud, annate endast parima Outlooki taastamine andmeid kõigi vahenditega, näiteks korduvad võimsa tööriistaga nagu DataNumen Outlook Repair.

Autori sissejuhatus:

Shirley Zhang on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas rikutud sql ja Outlooki remonditarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom

Kommentaarid on suletud.