Jak dávkově tisknout všechny přílohy ve více e-mailech pomocí aplikace Outlook VBA

Sdílej nyní:

Pokud chcete hromadně vytisknout všechny přílohy ve více vybraných e-mailech, můžete použít metodu uvedenou v tomto článku. K dosažení v rychlém čase používá část kódu VBA.

Jak vidíte, při výběru jedné přílohy je na pásu karet „Přílohy“ k dispozici přímá funkce „Rychlý tisk“. Pokud však vyberete více než jednu přílohu, tlačítko „Rychlý tisk“ bude deaktivováno, nemluvě o tisku všech příloh v mnoha vybraných e-mailech. Proto za předpokladu, že chcete hromadně tisknout všechny přílohy v několika e-mailech najednou, musíte hledat jiné způsoby, například jakékoli nástroje třetích stran nebo VBA. Se zaměřením na tuto potřebu vám zde vystavíme část kódu VBA, která vám pomůže získat ji jednoduše jedním kliknutím.

Dávkový tisk všech příloh ve více e-mailech pomocí aplikace Outlook VBA

Hromadný tisk všech příloh ve více e-mailech

  1. Hned na začátku spusťte aplikaci Outlook.
  2. Poté v hlavním okně stiskněte klávesy „Alt + F11“ pro přístup do editoru VBA.
  3. V následujícím okně „Microsoft Visual Basic for Applications“ otevřete prázdný modul.
  4. Dále zkopírujte následující kódy VBA do takového modulu.
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

Kód VBA - tisk všech příloh ve více e-mailech

  1. Následně můžete přidat nové makro na panel nástrojů Rychlý přístup.
  2. Poté byste měli nastavit nízkou úroveň zabezpečení maker aplikace Outlook.
  3. Nakonec to můžete vyzkoušet.
  • Nejprve vyberte v seznamu e-mailů několik e-mailů, jejichž přílohy chcete vytisknout.
  • Poté klikněte na tlačítko nového makra na panelu nástrojů Rychlý přístup.
  • Dále se vytisknou všechny přílohy ve vybraných e-mailech.

Dejte si pozor na viry skryté v makrech

Pokud jste nakonfigurovali úroveň zabezpečení maker aplikace Outlook na nízkou úroveň, musíte vynaložit velké úsilí blokováním potenciálních virů ve škodlivých makrech. Je to proto, že viry mohou zničit vaše data aplikace Outlook najednou. Jakmile budou vaše data v Outlooku poškozena, budete se snažit co nejlépe obnovit Outlook data všemi prostředky, například opakující se na silný nástroj jako DataNumen Outlook Repair.

Úvod autora:

Shirley Zhang je expertem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně poškozený sql a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com

Sdílej nyní:

Komentáře jsou uzavřeny.