locked
Macro para salvar e enviar pro email RRS feed

  • Pergunta

  • Boa tarde, amigos!

     

    Preciso de uma macro que salve em arquivo PDF (somente o que estiver selecionado) e envie como anexo para o Outlook. O Excel tem esta ferramenta (Arquivo / Enviar Para / Destinatário de Email), mas não oferece a possibilidade de enviar somente o que estiver selecionado.

     

    Agradeço se puderem me ajudar.

     

     

    Sds

    Jerson

    terça-feira, 26 de fevereiro de 2008 16:21

Todas as Respostas

  • Jerson,

    Vc possui algum aplicativo instalado para transformar o PDF em XLS?

    Qual seria?

    [ ]s

    terça-feira, 26 de fevereiro de 2008 22:16
  •  Adilson Soledade wrote:

    Jerson,

    Vc possui algum aplicativo instalado para transformar o PDF em XLS?

    Qual seria?

    [ ]s

     

    Adilson,

     

    Eu tenho o TinyPDF.

     

     

    Sds

    Jerson

    quarta-feira, 27 de fevereiro de 2008 11:19
  • Jerson,

    Pesquisei em todas as minhas referências sobre o assunto e, aparentemente, não é possível colocar um anexo diferente do próprio arquivo, ou um de seus componentes, numa mensagem do Outlook.

    É possível colocar uma planilha ou um intervalo como anexo, mas obrigaoriamente devem estar no arquivo que dispara a macro.

    Vamos ver aparece alguma solução, pois também fiquei curioso sobre o assunto.

    [ ]s

     

    quarta-feira, 27 de fevereiro de 2008 12:13
  •  Adilson Soledade wrote:

    Jerson,

    Pesquisei em todas as minhas referências sobre o assunto e, aparentemente, não é possível colocar um anexo diferente do próprio arquivo, ou um de seus componentes, numa mensagem do Outlook.

    É possível colocar uma planilha ou um intervalo como anexo, mas obrigaoriamente devem estar no arquivo que dispara a macro.

    Vamos ver aparece alguma solução, pois também fiquei curioso sobre o assunto.

    [ ]s

     

     

    Adilson,

     

    Ok, Adilson.

    Obrigado pela sempre pronta colaboração.

     

    Sds

    Jerson

    quarta-feira, 27 de fevereiro de 2008 13:01
  • Olá, Jerson.

    Extendi a minha pesquisa e consegui dois códigos distintos.

    O primeiro para geração do PDF:

    Code Snippet

    Sub Impressão_Seleção()

        Application.ActivePrinter = "TinyPDF em LPT1:"
        Selection.PrintOut Copies:=1
    End Sub

     

     

    Funciona, mas o problema é que não consegui, via código, determinar o nome do arquivo a ser salvo.

     

    O código a seguir cria e envia uma mensagem com anexos, controlando o Outlook via Excel. É necessário instalar a biblioteca do Outlook como referência via VBE.

    Code Snippet

    Sub Envio_Email()

    Set myOlApp = CreateObject("Outlook.Application")
    Set myItem = myOlApp.CreateItem(olMailItem)
    Set myAttachments = myItem.Attachments
      
    With myItem
        .To = "adilsonsoledade@hotmail.com"
        .Subject = "Envio de mensagem"
        .Body = "Teste de envio via excel"
        .Save
        myAttachments.Add "C:\Teste.pdf"
        .Send
    End With

    End Sub

     

     

    Agora o desafio é unir as duas partes, controlando o nome com que o PDF é salvo.

    Assim que tiver notícias, dou continuidade ao post.

    [ ]s

     

     

     

    quinta-feira, 28 de fevereiro de 2008 11:02
  •  Adilson Soledade wrote:

     É necessário instalar a biblioteca do Outlook como referência via VBE.

    [ ]s
     
    Adilson,
     
    Me explica melhor esta parte, por favor.
     
     
    Sds
    Jerson
    quinta-feira, 28 de fevereiro de 2008 20:13
  • Com prazer:

    1. Acesse o Visual Basic Editor (VBE): o ambiente em que editamos as macros.

    2. Menu Ferramentas >> Referências

    3. Procure e selecione a referência: Microsoft Outlook 12.0 Object Library (Dependendo da versão do Office, pode aparecer uma outra versão, mas selecione-a assim mesmo.

    4. Pressione Ok.

    Feitas essas etapas, o Excel pode reconhecer os comandos de VBA do Outlook e desta forma trabalhar com os objetos deste programa.

    [ ]s

     

    quinta-feira, 28 de fevereiro de 2008 21:27
  • Jerson,

    Demorou um pouco, mas consegui. Fiz inúmeros testes na minha máquina e funcionou corretamente em todos.

    OBS:

    1. O procedimento funciona para uma impressora PDF chamada Bullzip a qual vc poderá baixar no site: http://www.bullzip.com/download.php

    2. Depois de instalá-la vc deve ir para o ambiente do VBA e no menu Ferramentas >> Referências e selecionar a referência Bullzip (além da referência ao Outlook que expliquei anteriormente.

    3. Não consegui evitar que apareça uma caixa de diálogo perguntando se deseja abrir o arquivo PDF gerado. Por isso coloquei uma MsgBox durante a execução do código para que interrompa o código e informe ao usuário que deve dar prosseguimento ou interromper o código se houve problema na geração.

    4. Antes de enviar para impressão, deve selecionar a área a ser impressa

    5. Como não sei as tuas configurações de rede e máquina podem ocorrer erros. Neste caso, vamos realizando os ajustes até que funcione para vc.

     

    O arquivo está disponível no link:

    http://www.4shared.com/file/39855107/c626c2fe/PDF_e_Outlook.html

     

    [ ]s

    quarta-feira, 5 de março de 2008 11:33
  •  Adilson Soledade wrote:

    Jerson,

    Demorou um pouco, mas consegui. Fiz inúmeros testes na minha máquina e funcionou corretamente em todos.

    OBS:

    1. O procedimento funciona para uma impressora PDF chamada Bullzip a qual vc poderá baixar no site: http://www.bullzip.com/download.php

    2. Depois de instalá-la vc deve ir para o ambiente do VBA e no menu Ferramentas >> Referências e selecionar a referência Bullzip (além da referência ao Outlook que expliquei anteriormente.

    3. Não consegui evitar que apareça uma caixa de diálogo perguntando se deseja abrir o arquivo PDF gerado. Por isso coloquei uma MsgBox durante a execução do código para que interrompa o código e informe ao usuário que deve dar prosseguimento ou interromper o código se houve problema na geração.

    4. Antes de enviar para impressão, deve selecionar a área a ser impressa

    5. Como não sei as tuas configurações de rede e máquina podem ocorrer erros. Neste caso, vamos realizando os ajustes até que funcione para vc.

     

    O arquivo está disponível no link:

    http://www.4shared.com/file/39855107/c626c2fe/PDF_e_Outlook.html

     

    [ ]s

     

    Ok amigo. Vou fazer os testes por aqui e te informo dos resultados.

     

    Sds

    Jerson

    sábado, 8 de março de 2008 00:00