Slik batchskriver du ut alle vedlegg i flere e-poster med Outlook VBA

Hvis du ønsker å skrive ut alle vedleggene i flere utvalgte e-poster i bulk, kan du bruke metoden introdusert i denne artikkelen. Den bruker et stykke VBA-kode for å oppnå det på kort tid.

Som du kan se, når du velger et enkelt vedlegg, er det en direkte "Hurtigutskrift"-funksjon tilgjengelig i "Vedlegg"-båndet. Men når du velger over ett vedlegg, vil "Hurtigutskrift"-knappen være deaktivert, for ikke å snakke om å skrive ut alle vedlegg i mange utvalgte e-poster. Derfor, forutsatt at du ønsker å batchprinte alle vedlegg i flere e-poster på én gang, må du søke andre måter, for eksempel tredjepartsverktøy eller VBA. Fokusert på dette behovet, vil vi her eksponere et stykke VBA-kode for deg, som kan hjelpe deg med å få det enkelt med ett klikk.

Batch-skriv ut alle vedlegg i flere e-poster med Outlook VBA

Batch-skriv ut alle vedlegg i flere e-poster

  1. Start Outlook-applikasjonen helt i begynnelsen.
  2. Deretter i hovedvinduet trykker du på "Alt + F11"-tastene for å få tilgang til VBA-editor.
  3. I det påfølgende "Microsoft Visual Basic for Applications"-vinduet åpner du en tom modul.
  4. Kopier deretter følgende VBA-koder inn i en slik 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 - Skriv ut alle vedlegg i flere e-poster

  1. Deretter kan du legge til den nye makroen til hurtigtilgangsverktøylinjen.
  2. Etter det bør du sette Outlook-makrosikkerhetsnivået til lavt.
  3. Til slutt kan du prøve deg frem.
  • Først, i e-postlisten, velg flere e-poster hvis vedlegg du vil skrive ut.
  • Klikk deretter på den nye makroknappen i verktøylinjen for hurtigtilgang.
  • Deretter vil alle vedleggene i de valgte e-postene bli skrevet ut.

Pass deg for virus skjult i makroer

Hvis du har konfigurert Outlook-makrosikkerhetsnivået til lavt, må du bruke mye krefter på å blokkere potensielle virus i ondsinnede makroer. Det er fordi virus kan ødelegge Outlook-dataene dine på én gang. Når Outlook-dataene dine er korrupte, vil du prøve så godt du kan gjenopprette Outlook data for all del, for eksempel tilbakevendende til et potent verktøy som DataNumen Outlook Repair.

Forfatterintroduksjon:

Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert korrupt sql og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med

Kommentarer er stengt.