Sådan batchudskrives alle vedhæftede filer i flere e-mails med Outlook VBA

Hvis du vil udskrive alle vedhæftede filer i flere valgte e-mails i bulk, kan du bruge metoden introduceret i denne artikel. Det bruger et stykke VBA-kode til at opnå det på hurtig tid.

Som du kan se, er der en direkte "Quick Print" -funktion tilgængelig på båndet "Vedhæftede filer", når du vælger en enkelt vedhæftet fil. Men når du vælger over en vedhæftet fil, vil knappen "Hurtig udskrivning" deaktiveres, for ikke at nævne at udskrive alle vedhæftede filer i mange valgte e-mails. Derfor, forudsat at du vil udskrive alle vedhæftede filer i flere mails på én gang, skal du søge på andre måder, såsom tredjepartsværktøjer eller VBA. Fokuseret på dette behov vil vi her udsætte et stykke VBA-kode for dig, som kan hjælpe dig med at få det blot med et enkelt klik.

Batchudskriv alle vedhæftede filer i flere e-mails med Outlook VBA

Batchudskriv alle vedhæftede filer i flere e-mails

  1. Start din Outlook-applikation lige fra starten.
  2. Tryk derefter på “Alt + F11” -tasten i hovedvinduet for at få adgang til VBA-editor.
  3. I det efterfølgende “Microsoft Visual Basic for Applications” -vindue skal du åbne et tomt modul.
  4. Kopier derefter følgende VBA-koder til et sådant 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

VBA-kode - Udskriv alle vedhæftede filer i flere mails

  1. Derefter kan du tilføje den nye makro til værktøjslinjen Hurtig adgang.
  2. Derefter skal du indstille dit Outlook-makro-sikkerhedsniveau til lavt.
  3. Til sidst kan du prøve.
  • For det første skal du vælge flere e-mails i mail-listen, hvis vedhæftede filer du vil udskrive.
  • Klik derefter på den nye makroknap i værktøjslinjen Hurtig adgang.
  • Derefter udskrives alle vedhæftede filer i de valgte e-mails.

Pas på vira skjult i makroer

Hvis du har konfigureret dit Outlook-makro-sikkerhedsniveau til lavt, skal du bruge en stor indsats på at blokere potentielle vira i ondsindede makroer. Det er fordi vira kan ødelægge dine Outlook-data på én gang. Når dine Outlook-data er korrupte, prøver du dit bedste for at gendanne Outlook data på alle måder, såsom tilbagevenden til et potent værktøj som DataNumen Outlook Repair.

Forfatter Introduktion:

Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder korrupt sql og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.