none
Incluir um range no corpo de uma email: RRS feed

  • Pergunta

  • Srs, Tenho o código abaixo e já tentei de todas as formas que conheço de anexar a um email um range de uma planilha. Todas as opções que encontrei e me indicaram seria para anexar a planilha ou enviá-la como anexo em PDF.

    Mas preciso que apenas o range sejá incluído em um novo email!

    Poderiam ajudar!

    abs,

    Sub EnviarEmail()
    Dim OutProg As Object
    Dim OutMail As Object
    Dim imagem1 As ChartObjects
     Dim strImagePath As String

    Set OutProg = CreateObject("Outlook.Application")
    Set OutMail = OutProg.createItem(0)
    With OutMail
        .To = Planilha1.Range("g3").Text
        .cc = Planilha1.Range("h3").Text
        .Subject = Planilha1.Range("i3").Text
        .HTMLBody = imagem1.Picture
        .Body = imagem1.Picture 'Planilha1.Range("b21").Text
        .Display
        End With

        Set OutMail = Nothing
        Set OutApp = Nothing
        Sub coletar_imagem()
    Set currentchart = Planilha1.ChartObjects(1).Chart

    currentchart.Parent.Width = 200
    currentchart.Parent.Height = 200
     converter objeto de grafico em imagem gif
    nome = ThisWorkbook.Path & Application.PathSeparator & " temp.gif"
    currentchart.Export Filename:=nome, filtername:="GIF"
    imagem1.Picture = LoadPicture(nome)
    End Sub

        
    sábado, 15 de abril de 2017 17:36

Respostas

  • Você tem que escrever sua assinatura manualmente por HTML e concatenar com a linha onde é definido o corpo do e-mail, ficando assim:

    .HTMLBody = RangetoHTML(rng) & Assinatura



    http://www.ambienteoffice.com.br || Grupo de WhatsApp: https://chat.whatsapp.com/K1uey5Q4yJdKnsgWkVQAZG

    • Marcado como Resposta Cdilenes sábado, 27 de janeiro de 2018 20:30
    segunda-feira, 17 de abril de 2017 23:32
    Moderador

Todas as Respostas

  • Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.

    ---

    Aqui há um código que atende sua necessidade: https://www.rondebruin.nl/win/s1/outlook/bmail2.htm


    http://www.ambienteoffice.com.br || Grupo de WhatsApp: https://chat.whatsapp.com/K1uey5Q4yJdKnsgWkVQAZG

    domingo, 16 de abril de 2017 13:28
    Moderador
  • Olá Felipe,

    Valeu a dica, mas neste código ocorre que todo o range é inserido no corpo do email.

    O email que estou tentando automatizar possui uma assinatura e uma imagem que são removidos quando executo a macro.

    Já inclui a assinatura e imagem no range da planilha, mas ao executar a macro somente o conteúdo da planilha é inserido.

    Há alguma outra dica?

    segunda-feira, 17 de abril de 2017 21:24
  • Você tem que escrever sua assinatura manualmente por HTML e concatenar com a linha onde é definido o corpo do e-mail, ficando assim:

    .HTMLBody = RangetoHTML(rng) & Assinatura



    http://www.ambienteoffice.com.br || Grupo de WhatsApp: https://chat.whatsapp.com/K1uey5Q4yJdKnsgWkVQAZG

    • Marcado como Resposta Cdilenes sábado, 27 de janeiro de 2018 20:30
    segunda-feira, 17 de abril de 2017 23:32
    Moderador
  • Olá, Felipe. 

    Valeu pela ajuda!

    quinta-feira, 20 de abril de 2017 22:47
  • Como troco a figura por uma range 

    Preciso que no corpo do email aparece assim

    C5

    C7

    C9

    C11 

    Que sao os dados que estao na planilha com o nome / Empresa / Data e Hora

    sexta-feira, 17 de agosto de 2018 14:11