Notifications
Clear all

Impressão de Excel no outlook automático

3 Posts
3 Usuários
0 Reactions
1,681 Visualizações
(@alexf)
Posts: 1
New Member
Topic starter
 

Olá,

estou com um problema. Recebo diariamente cerca de 50 e-mail que contem uma planilha de excel além de imágens. Sou obrigado a imprimir todos os e-mails além do excel, porém gosaria de fazer isso automaticamente, sem ter de entrar e-mail por e-mail para abrir somente o excel e então imprimi-lo. Os e-mail consigo imprimir todos de uma vez.

alguém tem alguma dica boa de como automatizar minha tarefa?

obrigado,

 
Postado : 22/01/2014 3:19 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

AlexF,

Boa Tarde!

Uma forma de resolver esse problema é você inserir o código abaixo em um módulo dentro do outlook para salvar todos os arquivos anexos do Excel que estiverem em sua Caixa de Entrada em uma determinada pasta em seu micro. Depois de ter todos os arquivos salvos em uma pasta, aí ficará mais fácil você imprimir todos eles, pelos próprio Windows, sem precisar abrí-los, inclusive. Basta selecionar todos ele pelo Explore, clicar com o botão direito do mouse e selecionar Imprimir no menu suspenso que surge. Com isso, o sistema operacional ira abrir, imprimir e fechar cada um dos arquivos.

Sub SalvarAnexosDeMensagens()
    'Esta rotina permite que se salve os anexos das mensagens existentes na _
    caixa de entrada do Outlook em uma pasta no micro.
    
    'Código desenvolvido por Carlos Carvalho Citrangulo Junior, encontrado no site _
    http://social.msdn.microsoft.com/Forums/pt-BR/2609d380-543a-4f03-b486-d000f4474587/cdigo- _
    vba-para-salvar-anexos-de-novas-mensagens-do-outlook-numa-pasta-do-computador?forum=vbapt, _
    adapatado por Wagner Morel em 26/01/2014
    
    'Comando para tratar os erros que possam ocorrer
    On Error GoTo SalvarAnexosDeMensagens_Erro
    
    'Declaração de variáveis
    Dim ns As NameSpace
    Dim Inbox As MAPIFolder
    Dim Item As Object
    Dim Atmt As Attachment
    Dim NomeArquivo As String
    Set ns = GetNamespace("MAPI")
    Set Inbox = ns.GetDefaultFolder(olFolderInbox)
    
    'Verifica no seu inbox se existe algum anexo de acordo com o assunto especificado
    If Inbox.Items.Count = 0 Then
        MsgBox "Não há mensagens na Caixa de Entrada.", vbInformation, "MENSAGEM NÃO ENCONTRADA"
        Exit Sub
    End If
    
    'Laço para verificar cada mensagem
    For Each Item In Inbox.Items
    
        'Laço para verificar cada mensagem que tenha anexo
        For Each Atmt In Item.Attachments
        
            'Armazena o nome do arquivo do anexo. MUDE O CAMINHO DA PASTA DE ACORDO COM _
            SUA NECESSIDADE.
            NomeArquivo = "C:UsersWagner" & Atmt.FileName
            
            'Salva o anexo na pasta
            Atmt.SaveAsFile NomeArquivo
            
        Next Atmt
        
    Next Item
    
SalvarAnexosDeMensagens_Sair:
    'Limpar a memória
    Set Atmt = Nothing
    Set Item = Nothing
    Set ns = Nothing
    Exit Sub
    
SalvarAnexosDeMensagens_Erro:
    Resume SalvarAnexosDeMensagens_Sair
End Sub

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 26/01/2014 2:01 pm
(@joilsondo)
Posts: 47
Eminent Member
 

Olá Wagner, tudo bem?

Vendo o código acima, tive o mesmo problema reportado.
Porém consegui fazer com que o outlook salvasse todos os anexos em uma pasta.

Mas ao clicar com o botão direito em todos a opção "imprimir" não está disponível.
MAs se você selecionar apenas 15 itens ai sim a opção "imprimir" aparece.

No meu caso o formato do arquivo era PDF. Será que tem como imprimir todos de uma única vez?
Por exemplo, se eu tiver acima de 15 arquivos, será que tem algum código em VBa que possa fazer isso automático?

Obrigado.

 
Postado : 28/01/2014 10:01 am