MACRO enviar e-mail pelo VBA
Enviado: 22 Jun 2021 às 11:13
Pessoal, estou tentando enviar de forma automática um e-mail pelo vba do excel. Eu tenho um formulário, onde na primeira aba (cadastrar IT) são inseridas as informações e, na segunda aba (compartilhar por email), são preenchidas a partir dos dados da primeira aba as informações que serão enviadas por e-mail automaticamente. Eu consigo copiar as informações do textbox "mensagem", mas quando o e-mail é enviado a formatação é alterada, sem os espaços conforme imagem em anexo.
O código para envio do e-mail é o seguinte:
Private Sub cmdEnviarEmail_Click()
Dim iMsg, iConf, Flds
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
'Configura o smtp
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
'Configura a porta de envio de email
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
'Configura o email do remetente
Flds.Item(schema & "sendusername") = txtRemetente.Value
'Configura a senha do email remetente
Flds.Item(schema & "sendpassword") = txtSenha.Value
Flds.Item(schema & "smtpusessl") = 1
Flds.Update
With iMsg
'Email do destinatário
.To = "vanessa@gmail.com"
'Seu email
.From = txtRemetente.Value
'Título do email
.Subject = txtAssunto.Value
'Mensagem do e-mail, você pode enviar formatado em HTML
.HTMLBody = txtCorpoemail.Value
'Seu nome ou apelido
.Sender = txtAutor.Value
'Nome da sua organização
.Organization = "Empresa"
'e-mail de responder para
.ReplyTo = txtRemetente.Value
Set .Configuration = iConf
.Send
End With
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
MsgBox "O e-mail foi enviado com sucesso!", vbOKOnly, "Sucesso"
'Apaga a senha
txtSenha = Empty
End Sub
Alguém pode me ajudar?
O código para envio do e-mail é o seguinte:
Private Sub cmdEnviarEmail_Click()
Dim iMsg, iConf, Flds
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
'Configura o smtp
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
'Configura a porta de envio de email
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
'Configura o email do remetente
Flds.Item(schema & "sendusername") = txtRemetente.Value
'Configura a senha do email remetente
Flds.Item(schema & "sendpassword") = txtSenha.Value
Flds.Item(schema & "smtpusessl") = 1
Flds.Update
With iMsg
'Email do destinatário
.To = "vanessa@gmail.com"
'Seu email
.From = txtRemetente.Value
'Título do email
.Subject = txtAssunto.Value
'Mensagem do e-mail, você pode enviar formatado em HTML
.HTMLBody = txtCorpoemail.Value
'Seu nome ou apelido
.Sender = txtAutor.Value
'Nome da sua organização
.Organization = "Empresa"
'e-mail de responder para
.ReplyTo = txtRemetente.Value
Set .Configuration = iConf
.Send
End With
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
MsgBox "O e-mail foi enviado com sucesso!", vbOKOnly, "Sucesso"
'Apaga a senha
txtSenha = Empty
End Sub
Alguém pode me ajudar?