bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Enviar e-mail automaticamente aos clientes

Enviar e-mail automaticamente aos clientes

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

Usuário Samuel:

É um prazer fazer parte deste site.

Estou a alguns dias tentando fazer com que o meu sistema de emissão de Ordem de Serviços, através do botão enviar e-mail, pelo número da Ordem de Serviços, que é filtrado, converta o relatório referente à Ordem de Serviços em PDF e anexe no Outlook. Busque o e-mail do cliente e então envie o PDF ao referido cliente.

Sei que é pedir demais, mas ainda não tenho tanta experiência em programação assim. Conto com a sua ajuda.

Suporte:

Samuel, fiz um pequeno exemplo para você testar.  Atente para os comentários no código oferecido.

Nota: Você tem que criar a pasta chamada enviados, no mesmo local em que você copiar este exemplo.

Para maiores detalhes sobre o uso do código proposto, clique AQUI e leia o meu artigo:

Segue o código utilizado no exemplo:

Private Sub btEnviarEmail_Click()
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 e-mail para inserir os itens de e-mail
'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 OS,
'ficando com o seguinte aspecto: OS00001.pdf, OS00002.pdf,...
'----------------------------------------------------------------------------
strArquivo = "OS" & Format(Me!idOs, "00000") & ".pdf"
strLocal = CurrentProject.Path & "\enviados\" & strArquivo
'----------------------------------------------------------------------------
'Abre o relatório filtrado e oculto, de acordo com a OS selecionada.
'----------------------------------------------------------------------------
DoCmd.OpenReport "rltOs", acViewPreview, , "Idos=" & Me!idOs, acHidden
'----------------------------------------------------------------------------
'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, "rltos", acFormatPDF, strLocal
'---------------------------------------------
'Fecha o relatório que está oculto
'---------------------------------------------
DoCmd.Close acReport, "rltos"
'-------------------------------------------------------------
'Adiciona o arquivo PDF no anexo, capturado da pasta enviados
'-------------------------------------------------------------
objAnexo.Add strLocal, olByValue, 1

'----------------------------------------------
'Preenche o e-mail com as informações necessárias
'-----------------------------------------------
objmail.Subject = "Ordem de Serviços"
objmail.Body = "Segue anexo sua Ordem de Serviços, aberta recentemente"
objmail.To = DLookup("email", "tblClientes", "idcliente = " & Me!IdCliente)

'----------------------------------------------------------------------
'Mostra o formulário de envio de e-mail
'para enviar o e-mail automático, altere esta linha para: objmail.send
'-----------------------------------------------------------------------
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

End Sub

Download


 

 


2 comentário(s)

Augusto   18/07/2023 17:46:37

Salve, Avelino

Uso um codigo semelhante a esse para enviar emails pelo gmail que roda perfeitamente em minha máquina. No entanto, quando rodo em uma maquina virtual com o Windows 10 e Office 365 recebo a msg "falha na conexao do transporte com o servidor". Mas se entrar no Gmail nessa maquina consigo enviar normalmente. Já liberei a envio de msgs por aplicativos no Google, mas não funcionou. Existe uma solução para isso?

Grato.

Marcelo   25/04/2023 05:26:45

Bom dia a todos do forum. Referente a esse codigo eu criei outro que e muito bom pois ele nao precisa do outlok ele envia tudo direto pelo access e e configurado os parametros da conta em um formulario. Ele gera o pdf e depois do envio ele deleta o pdf da pasta pra n fica acumulando logo mando pra vcs ai.


Envie seu comentário: