Bom dia, galera
Seguinte: estou usando uma macro para fazer o envio de e-mails diretamente do Excel. O usuário informa os campos numa plan, o código captura tudo e faz o disparo.
Meu problema é o seguinte:
O corpo do texto é adicionado na célula I5 e está sendo capturada e transportada para o e-mail sem problemas.
Porém, mesmo que eu digite:
"exemplo, exemplo
exemplo
exemplo"
O e-mail será enviado com
"exemplo, exemplo exemplo exemplo"
Ou seja, remove toda a formatação inserida.
Como eu poderia manter a formatação?
Segue o código
Sub EnviaEmail()
Dim iMsg, iConf, Flds
Dim N As Double
Dim NEmails As Double
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
N = 4
NEmails = Worksheets("Destinatários").Range("O3") + 4
Do While N < NEmails
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = Worksheets("Configurações").Range("D11")
'Configura o smtp
Flds.Item(schema & "smtpserver") = Worksheets("Configurações").Range("D12")
'Configura a porta de envio de email
Flds.Item(schema & "smtpserverport") = Worksheets("Configurações").Range("D13")
Flds.Item(schema & "smtpauthenticate") = Worksheets("Configurações").Range("D14")
'Configura o email do remetente
Flds.Item(schema & "sendusername") = Worksheets("Configurações").Range("B7")
'Configura a senha do email remetente
Flds.Item(schema & "sendpassword") = Worksheets("Configurações").Range("D8")
Flds.Item(schema & "smtpusessl") = Worksheets("Configurações").Range("D15")
Flds.Update
With iMsg
'Email do destinatário
.To = Worksheets("Destinatários").Range("B" & N)
'Seu email
.From = Worksheets("Configurações").Range("B7")
'Título do email
.Subject = Worksheets("Configurações").Range("K3")
'Mensagem do e-mail, você pode enviar formatado em HTML
.HTMLBody = Worksheets("Configurações").Range("I5")
'Seu nome ou apelido
.Sender = Worksheets("Configurações").Range("D9")
'Nome da sua organização
' .Organization = "Aprender Excel"
'e-mail de responder para
.ReplyTo = Worksheets("Configurações").Range("B7")
'Anexo a ser enviado na mensagem. Retire a aspa da linha abaixo e coloque o endereço do arquivo
If Worksheets("Configurações").Range("B4") = "" Then
Else
.AddAttachment Worksheets("Configurações").Range("B4")
End If
Set .Configuration = iConf
.Send
End With
N = N + 1
Loop
MsgBox N - 4 & " e-mails foram enviados com sucesso", vbOKOnly, "e-mails enviados"
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
End Sub
Não cheguei a fazer o teste ainda, mas acho que se eu colocasse código HTML funcionaria, porém o usuário não tem muita intimidade com a ferramenta.
Postado : 13/07/2017 7:29 am