Como imprimir em lote todos os anexos em vários e-mails com o Outlook VBA

Compartilhe agora:

Se você deseja imprimir todos os anexos em vários e-mails selecionados em massa, pode utilizar o método apresentado neste artigo. Ele está usando um pedaço de código VBA para alcançá-lo rapidamente.

Como você pode ver, quando você seleciona um único anexo, há um recurso direto de “Impressão rápida” disponível na faixa “Anexos”. No entanto, quando você seleciona um anexo, o botão “Impressão rápida” será desativado, sem mencionar a impressão de todos os anexos em muitos e-mails selecionados. Portanto, desde que você queira imprimir em lote todos os anexos em vários e-mails de uma só vez, você deve procurar outras maneiras, como ferramentas de terceiros ou VBA. Focado nessa necessidade, aqui vamos expor um pedaço de código VBA para você, que pode te ajudar a obtê-lo simplesmente com um clique.

Imprima em lote todos os anexos em vários e-mails com o Outlook VBA

Imprimir em lote todos os anexos em vários e-mails

  1. No início, inicie seu aplicativo Outlook.
  2. Em seguida, na janela principal, pressione as teclas “Alt + F11” para acessar o editor VBA.
  3. Na janela subsequente “Microsoft Visual Basic for Applications”, abra um módulo vazio.
  4. Em seguida, copie os seguintes códigos VBA em tal módulo.
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

Código VBA - Imprimir todos os anexos em vários e-mails

  1. Posteriormente, você pode adicionar a nova macro à Barra de Ferramentas de Acesso Rápido.
  2. Depois disso, você deve definir o nível de segurança de macro do Outlook como baixo.
  3. Eventualmente, você pode tentar.
  • Em primeiro lugar, na lista de e-mail, selecione vários e-mails cujos anexos você deseja imprimir.
  • Em seguida, clique no novo botão de macro na Barra de Ferramentas de Acesso Rápido.
  • Em seguida, todos os anexos nos e-mails selecionados serão impressos.

Cuidado com os vírus ocultos nas macros

Se você configurou o nível de segurança de macro do Outlook como baixo, terá que gastar muitos esforços bloqueando possíveis vírus em macros maliciosas. É porque os vírus podem destruir seus dados do Outlook de uma só vez. Depois que seus dados do Outlook estiverem corrompidos, você fará o possível para recuperar Outlook dados por todos os meios, como recorrer a uma ferramenta potente como DataNumen Outlook Repair.

Introdução do autor:

Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo SQL corrompido e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.