Note: The other languages of the website are Google-translated. Back to English

Como imprimir anexos automaticamente quando os emails chegam ao Outlook?

Este tutorial demonstra um método para combinar um script VBA e uma regra do Outlook para ajudá-lo a imprimir automaticamente anexos de determinados emails quando eles chegam ao Outlook.


Imprima anexos automaticamente quando determinados e-mails chegarem

Supondo que você queira imprimir anexos de e-mails recebidos de um determinado remetente automaticamente. Você pode fazer o seguinte para fazê-lo.

Etapa 1: criar um script no Outlook

Em primeiro lugar, você precisa criar um script VBA no Outlook.

1. Inicie o Outlook, pressione o outro + F11 simultaneamente para abrir o Microsoft Visual Basic para Aplicações janela.

2. No Microsoft Visual Basic para Aplicações janela, clique duas vezes em Project1 > Objetos do Microsoft Outlook > Esta sessão do Outlook para abrir o ThisOutlookSession (Código) window e, em seguida, copie o código a seguir para esta janela de código.

Código VBA 1: Imprima anexos automaticamente (todos os tipos de anexos) quando os e-mails chegarem

Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20220920
  Dim xFS As FileSystemObject
  Dim xTempFolder As String
  Dim xAtt As Attachment
  Dim xShell As Object
  Dim xFolder As Object, xFolderItem As Object
  Dim xFileName As String
  On Error GoTo xError
  Set xFS = New FileSystemObject
  xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
  xTempFolder = xTempFolder & "\ATMP" & Format(Now, "yyyymmddhhmmss")
  MkDir (xTempFolder)
  'Set Item = Application.ActiveExplorer.Selection.Item(1)
  Set xShell = CreateObject("Shell.Application")
  Set xFolder = xShell.NameSpace(0)
  For Each xAtt In Item.Attachments
    xFileName = xTempFolder & "\" & xAtt.FileName
    xAtt.SaveAsFile (xFileName)
    Set xFolderItem = xFolder.ParseName(xFileName)
    xFolderItem.InvokeVerbEx ("print")
  Next xAtt
'xFS.DeleteFolder (xTempFolder)
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
  If Err <> 0 Then
    MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
    Err.Clear
  End If
Exit Sub
End Sub

NOTA Este código suporta a impressão de todos os tipos de anexos recebidos em e-mails. Se você deseja imprimir apenas o tipo de anexo especificado, como arquivos pdf, aplique o seguinte código VBA.

Código VBA 2: Imprima automaticamente o tipo de anexo especificado quando os e-mails chegarem

Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20220920
  Dim xFS As FileSystemObject
  Dim xTempFolder As String
  Dim xAtt As Attachment
  Dim xShell As Object
  Dim xFolder As Object, xFolderItem As Object
  Dim xFileType As String, xFileName As String
  On Error GoTo xError
  Set xFS = New FileSystemObject
  xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
  xTempFolder = xTempFolder & "\ATMP" & Format(Now, "yyyymmddhhmmss")
  MkDir (xTempFolder)
  'Set Item = Application.ActiveExplorer.Selection.Item(1)
  Set xShell = CreateObject("Shell.Application")
  Set xFolder = xShell.NameSpace(0)
  For Each xAtt In Item.Attachments
    xFileName = xAtt.FileName
    xFileType = LCase$(Right$(xFileName, VBA.Len(xFileName) - VBA.InStrRev(xFileName, ".")))
    xFileName = xTempFolder & "\" & xFileName
    xAtt.SaveAsFile (xFileName)
    Select Case xFileType
      Case "pdf"   'change "pdf" to the file extension you want to print
        Set xFolderItem = xFolder.ParseName(xFileName)
        xFolderItem.InvokeVerbEx ("print")
    End Select
  Next xAtt
'xFS.DeleteFolder (xTempFolder)
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
  If Err <> 0 Then
    MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
    Err.Clear
  End If
Exit Sub
End Sub

Notas:

1. Antes de aplicar este código VBA para imprimir apenas o arquivo pdf nos e-mails recebidos, primeiro você precisa baixar e instalar Adobe Acrobat Reader e defina-o como o leitor de pdf padrão em seu computador.
2. Na linha Caso "pdf", Por favor, mude "pdf" para a extensão de arquivo que você deseja imprimir.

3. Vá em frente e clique Ferramentas > Referências. No surgimento Referências - Projeto1 caixa de diálogo, verifique a Tempo de execução de scripts da Microsoft e, em seguida, clique no OK botão.

4. Salve o código e pressione o outro + Q chaves para fechar o Microsoft Visual Basic para Aplicações janela.

NOTA Certifique-se de que o Habilitar todas as macros opção está habilitada no seu Outlook. Você pode marcar esta opção seguindo as etapas mostradas abaixo.

Etapa 2: criar uma regra para usar o script

Depois de adicionar o script VBA no Outlook, você precisa criar uma regra para usar o script com base em determinadas condições.

1. Vá para a guia Início, clique em Regras > Gerenciar regras e alertas.

2. No Regras e Alertas caixa de diálogo, clique no botão Nova regra botão para criar uma regra.

Dicas: Se você adicionou várias contas de email ao seu Outlook, especifique uma conta no Aplicar alterações a esta pasta lista suspensa onde você deseja aplicar a regra. Caso contrário, ele será aplicado à caixa de entrada da conta de e-mail selecionada no momento.

3. No primeiro Assistente de regras caixa de diálogo, selecione Aplicar regra nas mensagens que recebo no Passo 1 caixa e, em seguida, clique em Avançar.

4. Na segunda Assistente de regras caixa de diálogo, você precisa:

4.1) Especifique uma ou mais condições no Passo 1 caixa de acordo com suas necessidades;
Nesse caso, quero imprimir apenas os anexos nos e-mails recebidos de um remetente especificado. Aqui, eu verifico o de pessoas ou grupo público caixa.
4.2) Clique no valor sublinhado na Passo 2 caixa para editar a condição;
4.3) Clique Avançar. Veja a imagem:

5. No terceiro Assistente de regras caixa de diálogo, você precisa configurar da seguinte maneira.

5.1) No Etapa 1: selecione a seção de ação(ões), Verifica a execute um script caixa;
5.2) No Passo 2 seção, clique no texto sublinhado “um script”;
5.3) Na abertura Selecione o script caixa de diálogo, clique no nome do código VBA que você adicionou acima e, em seguida, clique em ESTÁ BEM;
5.4) Clique no Seguinte botão. Veja a imagem:

Dicas: Se oexecute um script” está faltando no seu Assistente de regras, você pode exibi-lo seguindo o método mencionado neste artigo: restaurar a pption Executar um script ausente na regra do Outlook.

6. Depois outro Assistente de regras aparece pedindo exceções. Você pode selecionar as exceções, se necessário, caso contrário, clique no botão Seguinte botão sem nenhuma seleção。

7. No último Assistente de regras, você precisa especificar um nome para a regra e, em seguida, clicar no botão Terminar botão.

8. Em seguida, ele retorna para o Regras e Alertas caixa de diálogo, você pode ver a regra que você criou listada dentro, clique no OK botão para terminar todas as configurações.

A partir de agora, quando um e-mail da pessoa especificada for recebido, os arquivos anexados serão impressos automaticamente.


Artigos relacionados

Imprimir apenas anexos de um e-mail ou e-mails selecionados no Outlook
No Outlook, você pode imprimir os emails, mas imprimiu os anexos apenas de um email ou emails selecionados no Outlook? Este artigo apresenta os truques para resolver este trabalho.

Imprimir apenas o cabeçalho da mensagem de um e-mail no Outlook
Ao imprimir um email no Outlook, ele imprimirá o cabeçalho e o corpo da mensagem no email. No entanto, em alguns casos especiais, pode ser necessário imprimir o cabeçalho da mensagem com o assunto, remetente, destinatários, etc. Este artigo apresentará duas soluções para isso.

Imprimir um calendário em um intervalo de datas especificado/personalizado no Outlook
Normalmente, ao imprimir um calendário no modo de exibição de mês no Outlook, ele selecionará automaticamente o mês que contém a data selecionada no momento. Mas talvez seja necessário imprimir o calendário dentro de um intervalo de datas personalizado, como 3 meses, metade do ano etc. Este artigo apresentará a solução para você.

Imprimir um contato com imagem no Outlook
Normalmente, a imagem de um contato não será impressa ao imprimir o contato no Outlook. Mas às vezes, será mais impressionante imprimir um contato com sua foto. Este artigo apresentará algumas soluções alternativas para fazer isso.

Imprimir uma seleção de um email no Outlook
Se você recebeu uma mensagem de e-mail e descobriu que há uma seleção do conteúdo do e-mail que precisa ser impresso em vez de imprimir a mensagem inteira, o que você faria? Na verdade, o Outlook pode ajudá-lo a realizar essa operação com a ajuda de navegadores de internet, como o Firefox e o Internet Explorer. Aqui, pegarei os navegadores da Internet, por exemplo. Por favor, veja os seguintes tutoriais.

Mais artigos sobre "impressão no Outlook"...


Kutools for Outlook - traz 100 recursos avançados para o Outlook e torna o trabalho muito mais fácil!

  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários emails por encomenda; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tentar responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails em segundos; Adicionar saudação automaticamente quando responder; Adicionar data ao assunto ...
  • Ferramentas de anexo: gerenciar todos os anexos em todos os e-mails, Desanexação Automática, Comprimir tudo, Renomear tudo, Salvar tudo ... Relatório rápido, Contar e-mails selecionados...
  • Lixo eletrônico poderoso por costume; Remover e-mails e contatos duplicados... Permite que você faça de maneira mais inteligente, rápida e melhor no Outlook.
tiro kutools aba kutools do outlook 1180x121
tiro kutools outlook kutools mais guia 1180x121
 
Comentários (12)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Olá

ja ai suivi a la lettre votre methode pour imprimez automatiquement lesz pieces jointess

activez les macros mais il nya pas de macro

donc can ne fonctionne pas ou il me manque un element

merci de me dire svp
Este comentário foi feito pelo moderador no site
Oi,
Depois de habilitar o Habilitar todas as macros opção na janela da Central de Confiabilidade, você precisa reiniciar o Outlook para ativar o código.
Este comentário foi feito pelo moderador no site
Quando executo o módulo manualmente, ele abre uma janela de diálogo da impressora. Existe uma maneira de imprimir um e-mail sem que a caixa de diálogo apareça?
Este comentário foi feito pelo moderador no site
Olá Logan,
O código simplesmente abre o anexo para ler os dados para impressão e, em seguida, fecha automaticamente o anexo. A janela de diálogo da impressora não aparece quando você executa o código. Você se importaria de fornecer uma captura de tela da janela de diálogo da impressora? Desculpe pela inconveniência.
Este comentário foi feito pelo moderador no site
Bonjour moi j'ai un petit soucie lorsque j'ai fait et refait les étapes mais lorsque je créer ma règle je n'Ai pas l'option run a script.
Este comentário foi feito pelo moderador no site
Olá Stéphane
Se oexecute um script” está faltando no seu Assistente de regras, você pode exibi-lo seguindo o método mencionado neste artigo: restaurar a pption Executar um script ausente na regra do Outlook.
Este comentário foi feito pelo moderador no site
Bonjour question pour vous j'ai fait les étapes pour cela mais dans les règle de message de mon outlook je ne voit pas que je peux utilisé un script
Este comentário foi feito pelo moderador no site
Olá STEPHANE CADORETTE,
Se oexecute um script” está faltando no seu Assistente de regras, você pode exibi-lo seguindo o método mencionado neste artigo: restaurar a pption Executar um script ausente na regra do Outlook.
Este comentário foi feito pelo moderador no site
Olá, por gentileza preciso de ajuda, não consigo integrar o script apenas para impressão de pdf.
Ativei tudo, o primeiro script para impressão genérica funciona perfeitamente (ou quase: imprimir anexos em pdf uma vez impressos o acrobat reader permanece aberto em segundo plano), mas o script específico para pdf não funciona. Obrigado por postar os scripts e por qualquer ajuda.
Bom dia
Este comentário foi feito pelo moderador no site
Olá Marco041,
Havia algo errado com o código e ele foi atualizado. Por favor, tente.
Nota: não temos como impedir que o Acrobat Reader seja aberto porque precisamos usá-lo para abrir o documento pdf para o próximo trabalho de impressão.
Obrigado pelo seu feedback.
Sub AttachementAutoPrint(Item As Outlook.MailItem)
'Updated by Extendoffice 20220920
  Dim xFS As FileSystemObject
  Dim xTempFolder As String
  Dim xAtt As Attachment
  Dim xShell As Object
  Dim xFolder As Object, xFolderItem As Object
  Dim xFileType As String, xFileName As String
  On Error GoTo xError
  Set xFS = New FileSystemObject
  xTempFolder = xFS.GetSpecialFolder(TemporaryFolder)
  xTempFolder = xTempFolder & "\ATMP" & Format(Now, "yyyymmddhhmmss")
  MkDir (xTempFolder)
  'Set Item = Application.ActiveExplorer.Selection.Item(1)
  Set xShell = CreateObject("Shell.Application")
  Set xFolder = xShell.NameSpace(0)
  For Each xAtt In Item.Attachments
    xFileName = xAtt.FileName
    xFileType = LCase$(Right$(xFileName, VBA.Len(xFileName) - VBA.InStrRev(xFileName, ".")))
    xFileName = xTempFolder & "\" & xFileName
    xAtt.SaveAsFile (xFileName)
    Select Case xFileType
      Case "pdf"   'change "pdf" to the file extension you want to print
        Set xFolderItem = xFolder.ParseName(xFileName)
        xFolderItem.InvokeVerbEx ("print")
    End Select
  Next xAtt
'xFS.DeleteFolder (xTempFolder)
Set xFS = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
Set xShell = Nothing
xError:
  If Err <> 0 Then
    MsgBox Err.Number & " - " & Err.Description, , "Kutools for Outlook"
    Err.Clear
  End If
Exit Sub
End Sub
Este comentário foi feito pelo moderador no site
É possível especificar a impressora que deve ser usada (não a impressora padrão do sistema)?
Preciso imprimir 2 tipos de documentos em 2 impressoras diferentes....
Obrigado pela ajuda!
Este comentário foi feito pelo moderador no site
Oi simon
Obrigado pelo seu comentário. Depois de tentar com vários métodos, não consigo fazer isso funcionar. Desculpe pela inconveniência.
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos