Compartilhar via

Adicionar intervalo de células entre textos no corpo do e-mail

Anônima
2016-07-13T16:14:40+00:00

Estou tentando montar uma macro que coloque um intervalo de células de uma planilha entre dois trechos de texto no corpo do e-mail. Porém o código que estou usando coloca a tabela abaixo dos textos, pois não consegui fazer de outra maneira. Alguém saberia me informar como fazer da maneira que preciso?

Sub Send_Range()

Dim vTexto1 As String

Dim vTexto2 As String

vTexto1 = "Primeira parte"

vTexto2 = "Segunda parte"

   ActiveSheet.Range("A1:G3").Select

   ActiveWorkbook.EnvelopeVisible = True

   With ActiveSheet.MailEnvelope

      .Introduction = vTexto1 & vTexto2

      .Item.To = "******@teste.com"

      .Item.Subject = "Assunto"

      .Item.Send

   End With

End Sub

Deveria ficar assim:

Texto1

(células A1:G3)

Texto2

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Anônima
2016-07-14T19:39:01+00:00

Olá, WellingtonPaulino, tudo bem?    

Sugiro que poste a sua dúvida no link abaixo que vai direcioná-lo ao MSDN que é um fórum especialmente destinados para desenvolvedores e profissionais em TI.

Se a resposta ajudou de alguma forma, por favor, marque como resposta.

Espero ter ajudado, até mais!

Esta resposta foi útil?

0 comentários Sem comentários

2 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2016-07-13T19:16:57+00:00

    Rafael Issamu,

    A ferramenta não me ajudou, mas sua dica de colocar o texto no intervalo sim. A segunda parte do texto não possui variáveis, então adicionei esta parte à uma célula abaixo da tabela e acrescentei uma linha no intervalo. Porém me surgiu um novo problema: preciso colocar a primeira parte do texto em uma fonte diferente da padrão. Preciso definir a vTexto1 como Arial 10.

    Sub Send_Range()

    Dim vNumero As String

    Dim vTipo As String

    Dim vAquisicao As String

    Dim vManutencao As String

    Dim vSolicitante As String

    Dim vDestinatario As String

    Dim vTexto1 As String

    vDestinatario = Worksheets("Plan1").Range("C2").Value

    vNumero = Worksheets("Plan1").Range("B1").Value

    vSolicitante = Worksheets("Plan1").Range("B3").Value

    vTipo = Worksheets("Plan1").Range("C8").Value

    vAquisicao = Worksheets("Plan1").Range("C9").Value

    vManutencao = Worksheets("Plan1").Range("C10").Value

    vTexto1 = "Parte do texto " & Range("Plan1").Range("A8").Value &  "Outra parte do texto."

       ActiveSheet.Range("A1:G4").Select

       ActiveWorkbook.EnvelopeVisible = True

       With ActiveSheet.MailEnvelope

          .Introduction = vTexto1 & vTexto2

          .Item.SentOnBehalfOfName = "******@teste.com.br"

          .Item.To = vDestinatario

          .Item.Subject = "Assunto"

          .Item.Send

       End With

    End Sub

    Desculpe se não estou sendo claro com minhas dúvidas, mas comecei a estudar VBA à um mês e ainda não sei bem como as coisas funcionam.

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2016-07-13T16:58:03+00:00

    Olá Wellington!

    Quero te recomendar um suplemento desenvolvido por uma amigo (Felipe Gualberto), que realiza essa tarefa de enviar um intervalo da planilha por e-mail, além de muitas outras opções interessantes.

    Só a questão de ter texto antes e depois da tabela, que recomendaria deixar já definido no intervalo.

    link: http://ambienteoffice.com.br/blog/ambientexl/#mailxl

    Abraços!

    Esta resposta foi útil?

    0 comentários Sem comentários