Så här grupperar du ut alla bilagor i flera e-postmeddelanden med Outlook VBA

Om du vill skriva ut alla bilagor i flera utvalda e-postmeddelanden i bulk kan du använda metoden som introduceras i den här artikeln. Den använder en bit VBA-kod för att uppnå den på kort tid.

Som du kan se, när du väljer en enskild bilaga finns det en direkt "snabbutskrift" -funktion tillgänglig i menyfliksområdet "Bilagor". Men när du väljer över en bilaga kommer knappen "Snabbutskrift" att inaktiveras, för att inte tala om att skriva ut alla bilagor i många valda e-postmeddelanden. Därför, förutsatt att du vill satsa ut alla bilagor i flera mejl på en gång, måste du söka efter andra sätt, till exempel verktyg från tredje part eller VBA. Fokuserad på detta behov kommer vi här att exponera en bit VBA-kod för dig, som kan hjälpa dig att få det helt enkelt med ett klick.

Batch Skriv ut alla bilagor i flera e-postmeddelanden med Outlook VBA

Batch Skriv ut alla bilagor i flera e-postmeddelanden

  1. Starta din Outlook-applikation redan från början.
  2. Tryck sedan på “Alt + F11” -knapparna i huvudfönstret för att komma åt VBA-redigeraren.
  3. I det efterföljande “Microsoft Visual Basic for Applications” -fönstret öppnar du en tom modul.
  4. Kopiera sedan följande VBA-koder till en sådan 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-kod - Skriv ut alla bilagor i flera e-postmeddelanden

  1. Därefter kan du lägga till det nya makrot i verktygsfältet Snabbåtkomst.
  2. Efter det borde du ställa in din säkerhetsnivå för makro i Outlook till låg.
  3. Så småningom kan du prova.
  • Först och främst, i e-postlistan, välj flera e-postmeddelanden vars bilagor du vill skriva ut.
  • Klicka sedan på den nya makroknappen i snabbåtkomstverktygsfältet.
  • Därefter kommer alla bilagor i valda e-postmeddelanden att skrivas ut.

Akta dig för virus dolda i makron

Om du har konfigurerat säkerhetsnivån för Outlook-makroen till låg måste du spendera mycket på att blockera potentiella virus i skadliga makron. Det beror på att virus kan förstöra dina Outlook-data på en gång. När dina Outlook-data är skadade försöker du göra ditt bästa för att återställa Outlook data på alla sätt, såsom att återkomma till ett kraftfullt verktyg som DataNumen Outlook Repair.

Författarintroduktion:

Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive korrupt sql och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.