Como não entendo de VBA mas consegui pelo exemplo do Avelino, anexar meu relatórios ao e-mail, gostaria de esse mesmo anexo ser colocado no corpo do e-mail, com um endereço específico para cada relatório gerado, tenho que enviar diariamente 25 relatório e faço isso manualmente (anexo o arquivo, digito um email diferente para cada cliente, tenho que colar no corpo do email os dados do relatório mantendo o layout e enviar 25 vezes - é mole?!).
Desde já agradeço, segue o código que ja implementei:
Desde já agradeço, segue o código que ja implementei:
- Código:
Private Sub Bt_Enviar2_Click()
On Error Resume Next
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 = Me!cmb34 & ".pdf"
strLocal = CurrentProject.Path & "\enviados\" & strArquivo
'----------------------------------------------------------------------------
'Abre o relatório filtrado e oculto, de acordo com a proposta selecionada.
'NÃO ESQUEÇA DE COLOCAR O (, acHidden) quando der certo para esconder o relatório
'----------------------------------------------------------------------------
Select Case Me.cmb34
Case "Assembleia"
DoCmd.OpenReport "Assembleia", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Assembleia", acFormatPDF, strLocal
DoCmd.Close acReport, "Assembleia"
Case "Baiano Filho"
DoCmd.OpenReport "Baiano_Filho", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Baiano_Filho", acFormatPDF, strLocal
DoCmd.Close acReport, "Baiano_Filho"
Case "Cel. Taborelli"
DoCmd.OpenReport "Cel_Taborelli", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Cel_Taborelli", acFormatPDF, strLocal
DoCmd.Close acReport, "Cel_Taborelli"
Case "Eduardo Botelho"
DoCmd.OpenReport "Eduardo_Botelho", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Eduardo_Botelho", acFormatPDF, strLocal
DoCmd.Close acReport, "Eduardo_Botelho"
Case "Dilmar Dal Bosco"
DoCmd.OpenReport "Dilmar_Dal_Bosco", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Dilmar_Dal_Bosco", acFormatPDF, strLocal
DoCmd.Close acReport, "Dilmar_Dal_Bosco"
Case "Dr. Leonardo"
DoCmd.OpenReport "Leonardo", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Leonardo", acFormatPDF, strLocal
DoCmd.Close acReport, "Leonardo"
Case "Emanuel Pinheiro"
DoCmd.OpenReport "Emanuel_Pinheiro", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Emanuel_Pinheiro", acFormatPDF, strLocal
DoCmd.Close acReport, "Emanuel_Pinheiro"
Case "Gilmar Fabris"
DoCmd.OpenReport "Gilmar_Fabris", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Gilmar_Fabris", acFormatPDF, strLocal
DoCmd.Close acReport, "Gilmar_Fabris"
Case "Guilherme Maluf"
DoCmd.OpenReport "Guilherme_Maluf", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Guilherme_Maluf", acFormatPDF, strLocal
DoCmd.Close acReport, "Guilherme_Maluf"
Case "Janaína Riva"
DoCmd.OpenReport "Janaina_Riva", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Janaina_Riva", acFormatPDF, strLocal
DoCmd.Close acReport, "Janaina_Riva"
Case "Nininho"
DoCmd.OpenReport "Nininho", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Nininho", acFormatPDF, strLocal
DoCmd.Close acReport, "Nininho"
Case "Mauro Savi"
DoCmd.OpenReport "Mauro_Savi", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Mauro_Savi", acFormatPDF, strLocal
DoCmd.Close acReport, "Mauro_Savi"
Case "Max Russi"
DoCmd.OpenReport "Max_Russi", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Max_Russi", acFormatPDF, strLocal
DoCmd.Close acReport, "Max_Russi"
Case "Oscar Bezerra"
DoCmd.OpenReport "Oscar_Bezerra", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Oscar_Bezerra", acFormatPDF, strLocal
DoCmd.Close acReport, "Oscar_Bezerra"
Case "Pedro Satélite"
DoCmd.OpenReport "Pedro_Satelite", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Pedro_Satelite", acFormatPDF, strLocal
DoCmd.Close acReport, "Pedro_Satelite"
Case "Romoaldo Júnior"
DoCmd.OpenReport "Romoaldo_Junior", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Romoaldo_Junior", acFormatPDF, strLocal
DoCmd.Close acReport, "Romoaldo_Junior"
Case "Saturnino Masson"
DoCmd.OpenReport "Saturnino_Masson", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Saturnino_Masson", acFormatPDF, strLocal
DoCmd.Close acReport, "Saturnino_Masson"
Case "Sebastião Rezende"
DoCmd.OpenReport "Sebastiao_Rezende", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Sebastiao_Rezende", acFormatPDF, strLocal
DoCmd.Close acReport, "Sebastiao_Rezende"
Case "Silvano Amaral"
DoCmd.OpenReport "Silvano_Amaral", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Silvano_Amaral", acFormatPDF, strLocal
DoCmd.Close acReport, "Silvano_Amaral"
Case "Wagner Ramos"
DoCmd.OpenReport "Wagner_Ramos", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Wagner_Ramos", acFormatPDF, strLocal
DoCmd.Close acReport, "Wagner Ramos"
Case "Wancley Carvalho"
DoCmd.OpenReport "Wancley_Carvalho", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Wancley_Carvalho", acFormatPDF, strLocal
DoCmd.Close acReport, "Wancley_Carvalho"
Case "Wilson Santos"
DoCmd.OpenReport "Wilson_Santos", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Wilson_Santos", acFormatPDF, strLocal
DoCmd.Close acReport, "Wilson_Santos"
Case "Zé Carlos do Pátio"
DoCmd.OpenReport "Ze_Carlos_do_Patio", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Ze_Carlos_do_Patio", acFormatPDF, strLocal
DoCmd.Close acReport, "Ze_Carlos_do_Patio"
Case "Zé Domingos Fraga"
DoCmd.OpenReport "Ze_Domingos", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Ze_Domingos", acFormatPDF, strLocal
DoCmd.Close acReport, "Ze_Domingos"
Case "Zeca Viana"
DoCmd.OpenReport "Zeca_Viana", acViewPreview, acHidden
DoCmd.OutputTo acOutputReport, "Zeca_Viana", acFormatPDF, strLocal
DoCmd.Close acReport, "Zeca_Viana"
Case Else
MsgBox "Relatório não vinculado.", vbExclamation, "Atenção!"
End Select
'-------------------------------------------------------------
'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
End Sub