Senhores (as), bom dia
Mas uma vez peço ajuda para uma questão.
Estou tentar automatizar o envio de e-mail pelo Outlook.
Consegui em um fórum o código abaixo que praticamente resolve, porém faltaram algumas coisas para automatizar que não estou conseguindo. Que seria o preenchimento automático do destinatário, assunto e mensagem no corpo do e-mail.
De forma antecipada já agradeço a todos.
Segue código:
Dim strArquivo As String
Dim strLocal As String
Dim objOut As Object
Dim objmail As Object
Dim objAnexo As Object
Const olMailItem = 0
Const olByValue = 1
'---------------------------------------------
'Carregando a coleção do Outlook
'Similar ao abrir o Outlook
'---------------------------------------------
Set objOut = CreateObject("Outlook.application")
'------------------------------------------------------------
'Abrindo o formulário de email para inserir os itens de email
'Similar ao clicar no botão NOVO do Outlook
'------------------------------------------------------------
Set objmail = objOut.CreateItem(olMailItem)
'------------------------------------------------------------
'Abrindo a opção anexo
'Similar ao clicar no botão ANEXO do Outlook
'------------------------------------------------------------
Set objAnexo = objmail.Attachments
'------------------------------------------------------------------------------
'Indico o nome do arquivo pdf e o local que será gravado.
'Neste exemplo gero os nomes dos arquivos, aproveitando o número da proposta,
'ficando com o seguinte aspecto: proposta1.pdf, proposta2.pdf,...
'------------------------------------------------------------------------------
strArquivo = "Cotação" & Me!iDCotacao & ".pdf"
strLocal = CurrentProject.Path & "\enviadas\" & strArquivo
'----------------------------------------------------------------------------
'Abre o relatório filtrado e oculto, de acordo com a proposta selecionada.
'----------------------------------------------------------------------------
DoCmd.OpenReport "rptCotacaoPrecos", acViewPreview, , "iDCotacao=" & Me!iDCotacao, acHidden
"Me.msgPadrao", 0
'----------------------------------------------------------------------------
'Gera o pdf do relatório através do comando OutputTo.
'O mecanismo do Access reconhece que o relatório solicitado pelo OutputTo
'já está aberto e então o OutputTo usará o relatório já aberto e filtrado.
'----------------------------------------------------------------------------
DoCmd.OutputTo acOutputReport, "rptCotacaoPrecos", acFormatPDF, strLocal, True
'---------------------------------------------
'Fecha o relatório que está oculto
'---------------------------------------------
DoCmd.Close acReport, "rptCotacaoPrecos"
'-------------------------------------------------------------
'Adiciona o arquivo pdf no anexo, capturado da pasta enviados
'-------------------------------------------------------------
objAnexo.Add strLocal, olByValue, 1
'--------------------------------------------------------
'Mostra o formulário de envio de email
'--------------------------------------------------------
objmail.Display
'-------------------------------------------------------
'Tudo já foi entregue ao Outlook; então podemos esvaziar
'a memória do computador usada pelas variáveis objeto.
'-------------------------------------------------------
Set objAnexo = Nothing
Set objmail = Nothing
Set objOut = Nothing
Mas uma vez peço ajuda para uma questão.
Estou tentar automatizar o envio de e-mail pelo Outlook.
Consegui em um fórum o código abaixo que praticamente resolve, porém faltaram algumas coisas para automatizar que não estou conseguindo. Que seria o preenchimento automático do destinatário, assunto e mensagem no corpo do e-mail.
De forma antecipada já agradeço a todos.
Segue código:
Dim strArquivo As String
Dim strLocal As String
Dim objOut As Object
Dim objmail As Object
Dim objAnexo As Object
Const olMailItem = 0
Const olByValue = 1
'---------------------------------------------
'Carregando a coleção do Outlook
'Similar ao abrir o Outlook
'---------------------------------------------
Set objOut = CreateObject("Outlook.application")
'------------------------------------------------------------
'Abrindo o formulário de email para inserir os itens de email
'Similar ao clicar no botão NOVO do Outlook
'------------------------------------------------------------
Set objmail = objOut.CreateItem(olMailItem)
'------------------------------------------------------------
'Abrindo a opção anexo
'Similar ao clicar no botão ANEXO do Outlook
'------------------------------------------------------------
Set objAnexo = objmail.Attachments
'------------------------------------------------------------------------------
'Indico o nome do arquivo pdf e o local que será gravado.
'Neste exemplo gero os nomes dos arquivos, aproveitando o número da proposta,
'ficando com o seguinte aspecto: proposta1.pdf, proposta2.pdf,...
'------------------------------------------------------------------------------
strArquivo = "Cotação" & Me!iDCotacao & ".pdf"
strLocal = CurrentProject.Path & "\enviadas\" & strArquivo
'----------------------------------------------------------------------------
'Abre o relatório filtrado e oculto, de acordo com a proposta selecionada.
'----------------------------------------------------------------------------
DoCmd.OpenReport "rptCotacaoPrecos", acViewPreview, , "iDCotacao=" & Me!iDCotacao, acHidden
"Me.msgPadrao", 0
'----------------------------------------------------------------------------
'Gera o pdf do relatório através do comando OutputTo.
'O mecanismo do Access reconhece que o relatório solicitado pelo OutputTo
'já está aberto e então o OutputTo usará o relatório já aberto e filtrado.
'----------------------------------------------------------------------------
DoCmd.OutputTo acOutputReport, "rptCotacaoPrecos", acFormatPDF, strLocal, True
'---------------------------------------------
'Fecha o relatório que está oculto
'---------------------------------------------
DoCmd.Close acReport, "rptCotacaoPrecos"
'-------------------------------------------------------------
'Adiciona o arquivo pdf no anexo, capturado da pasta enviados
'-------------------------------------------------------------
objAnexo.Add strLocal, olByValue, 1
'--------------------------------------------------------
'Mostra o formulário de envio de email
'--------------------------------------------------------
objmail.Display
'-------------------------------------------------------
'Tudo já foi entregue ao Outlook; então podemos esvaziar
'a memória do computador usada pelas variáveis objeto.
'-------------------------------------------------------
Set objAnexo = Nothing
Set objmail = Nothing
Set objOut = Nothing