Turma,
Trabalho com algumas planilhas de acompanhamento e preciso enviar e-mail diariamente para os diversos segmentos da empresa.
Após muito suor, consegui capturar o outlook pelo excel para automatizar a rotina de envio dos e-mail's:
exibindo a barra de ferramentas de e-mail:
ActiveWorkbook.EnvelopeVisible = True
preenchendo os campos e enviando:
With ActiveSheet.MailEnvelope
.Introduction = ""
.Item.To = Sheets("Dados").Range("E" & posdados)
If posdados <> linerr Then
.Item.CC = Sheets("Dados").Range("D" & posdados) & ";gestor03"
Else
.Item.CC = Sheets("Dados").Range("D" & posdados)
End If
.Item.Subject = "Ocorrências pendentes - Ouvidoria"
.Item.Send
End With
Essa forma de envio (por programa distinto do outlook) faz com que ele aguarde 5 segundos para confirmar o envio de cada msg (segurança para evitar vírus de macro), só que mando dezenas por dia.
Então estudei mais um pouco e achei o código que envia e-mail pelo próprio outlook:
Dim objOL As New Outlook.Application
Dim objMail As MailItem
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
inclusive com os campos:
With objMail
.To = Sheets("Dados").Range("E" & posdados)
If posdados <> linerr Then
.CC = Sheets("Dados").Range("D" & posdados) ' & ";sr2642PE03"
Else
.CC = Sheets("Dados").Range("D" & posdados)
End If
.Subject = "Ocorrências SIOUV - Ouvidoria"
.BodyFormat = olFormatHTML
.Body = "AQUI ESTÁ O PROBLEMA!!!!!"
.Send
Set objMail = Nothing
Set objOL = Nothing
End With
Porém, como dá pra notar acima, não tô conseguindo levar a planilha do excel para o corpo do texto.
Ele só permite(até agora só consegui isso) texto sem formatação ou HTML.
Preciso enviar a planilha (não como anexo) da mesma forma que envio pelo excel, porém utilizando o outlook(pra evitar o contratempo dos 5 segundos).
Quem pode me ajudar?
Abraço a todos.
Pacheco.
P.S.
Consegui salvar o e-mail numa pasta temporária mas não consigo recuperá-lo pelo outlook, isso poderia ser uma solução.