Bom Dia !!!
Estou com um dilema..
estou com um DB com 5 Relatórios e tenho que enviá-los via Email para a mesma pessoa.
e faço isso um vez por dia..
porem cada vez que faço tenho que transformar o 5 relatórios em arquivo PDF e anexá-lo em um email destinto..
seria possível .
um código em VBA que possa transformar os 5 Relatórios em Arquivo VBA ao mesmo tempo e anexar eles em um único Email?
para gerar o aquivo em PDF e aguardá-lo em uma pasta, e anexa-lo no e-mail automaticamente eu tenho o Código, porem não sei como faze-lo para fazer isso com os 5 relatórios ao mesmo tempo ..
amigos deixo o Código que utilizo para vocês darem uma olhada
se possível e alguém poder me ajudar
desde já agradeço
segue o código
Dim Out As Outlook.Application
Dim ns As Outlook.NameSpace
Dim Folder As MAPIFolder
Dim Mens As MailItem
Dim objOutlookRec As Outlook.Recipient
Dim caminho As String
Dim strArquivo As String
Dim strEnderecos As String
Dim strDestinatarios
Dim StrEnvio
Dim stremail
Dim strEnderCC As String
Dim strDestinatCC
Dim StrEnvCC
Dim stremailComCop
Dim StrEnviCC
Dim fso As Object
Dim strLocal As String
Dim stDocName As String
Dim stLinkCriteria As String
Set Out = New Outlook.Application
Set ns = Out.GetNamespace("MAPI")
Set Folder = ns.GetDefaultFolder(olFolderInbox)
Set Mens = Folder.Items.Add
On Error Resume Next
'Local onde a pasta deve ser criada
strLocal = CurrentProject.Path & "\Relatorio_AES_PES"
'Função Cria Pasta
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(strLocal) Then ' verifica se já existe a pasta
Else
' se não existir cria
MkDir strLocal
End If
'Inicio da Função
If IsNull(Me!DataFim) Then Exit Sub
strArquivo = "Relatório de programações.pdf"
caminho = CurrentProject.Path & "\Relatorio_AES_PES\" & strArquivo
stDocName = "rto_AES_SigCOD_Geral_E _Regiao"
'stLinkCriteria = "[Nome]= '" & Me!Nome & "'"
DoCmd.OpenReport stDocName, acViewPreview, , stLinkCriteria, acHidden
DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, caminho
DoCmd.Close acReport, stDocName
Set rst = CurrentDb.OpenRecordset(strEnderecos)
StrEnvio = Left(strDestinatarios, Len(strDestinatarios) - 2)
' FimLocalizar Email Supervisor e Auxiliares
'-------------------------------------------------------------
With Mens
Set objOutlookRec = .Recipients.Add(StrEnvio) ' Destinatario do Email"
.CC = ' Incluir aqui um segundo destinatário se for o caso"
'.BCC = 'Com Copia Oculta
'Incluir aqui texto da Mensagem"
.BodyHTML = "Segue Relatório Solicitado "
.Subject = ' Incluir aqui o Assunto da Mensagem
.Attachments.Add (caminho) ' Caminho Completo do Anexo
.Display ' Abre EMail mas não Envia Automatico
'.Send ' Envia Email Automaticamente sem Visualização.
rst.Close
Set rst = Nothing
End With
End Sub
Estou com um dilema..
estou com um DB com 5 Relatórios e tenho que enviá-los via Email para a mesma pessoa.
e faço isso um vez por dia..
porem cada vez que faço tenho que transformar o 5 relatórios em arquivo PDF e anexá-lo em um email destinto..
seria possível .
um código em VBA que possa transformar os 5 Relatórios em Arquivo VBA ao mesmo tempo e anexar eles em um único Email?
para gerar o aquivo em PDF e aguardá-lo em uma pasta, e anexa-lo no e-mail automaticamente eu tenho o Código, porem não sei como faze-lo para fazer isso com os 5 relatórios ao mesmo tempo ..
amigos deixo o Código que utilizo para vocês darem uma olhada
se possível e alguém poder me ajudar
desde já agradeço
segue o código
Dim Out As Outlook.Application
Dim ns As Outlook.NameSpace
Dim Folder As MAPIFolder
Dim Mens As MailItem
Dim objOutlookRec As Outlook.Recipient
Dim caminho As String
Dim strArquivo As String
Dim strEnderecos As String
Dim strDestinatarios
Dim StrEnvio
Dim stremail
Dim strEnderCC As String
Dim strDestinatCC
Dim StrEnvCC
Dim stremailComCop
Dim StrEnviCC
Dim fso As Object
Dim strLocal As String
Dim stDocName As String
Dim stLinkCriteria As String
Set Out = New Outlook.Application
Set ns = Out.GetNamespace("MAPI")
Set Folder = ns.GetDefaultFolder(olFolderInbox)
Set Mens = Folder.Items.Add
On Error Resume Next
'Local onde a pasta deve ser criada
strLocal = CurrentProject.Path & "\Relatorio_AES_PES"
'Função Cria Pasta
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(strLocal) Then ' verifica se já existe a pasta
Else
' se não existir cria
MkDir strLocal
End If
'Inicio da Função
If IsNull(Me!DataFim) Then Exit Sub
strArquivo = "Relatório de programações.pdf"
caminho = CurrentProject.Path & "\Relatorio_AES_PES\" & strArquivo
stDocName = "rto_AES_SigCOD_Geral_E _Regiao"
'stLinkCriteria = "[Nome]= '" & Me!Nome & "'"
DoCmd.OpenReport stDocName, acViewPreview, , stLinkCriteria, acHidden
DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, caminho
DoCmd.Close acReport, stDocName
Set rst = CurrentDb.OpenRecordset(strEnderecos)
StrEnvio = Left(strDestinatarios, Len(strDestinatarios) - 2)
' FimLocalizar Email Supervisor e Auxiliares
'-------------------------------------------------------------
With Mens
Set objOutlookRec = .Recipients.Add(StrEnvio) ' Destinatario do Email"
.CC = ' Incluir aqui um segundo destinatário se for o caso"
'.BCC = 'Com Copia Oculta
'Incluir aqui texto da Mensagem"
.BodyHTML = "Segue Relatório Solicitado "
.Subject = ' Incluir aqui o Assunto da Mensagem
.Attachments.Add (caminho) ' Caminho Completo do Anexo
.Display ' Abre EMail mas não Envia Automatico
'.Send ' Envia Email Automaticamente sem Visualização.
rst.Close
Set rst = Nothing
End With
End Sub