Convidado 12/6/2011, 00:12
Private Sub Form_Open(Cancel As Integer)
' variável que representa o mês corrente
'Aqui se coloca o dia que quer que seja enviado, faz a checagem na pasta relatórios no Dir do BD, se ja tiver os PDF criados não os envia, se não os cria e envia. Isso e feito uma vez por mes para o meu caso
'se o dia do mês for maior ou igual a 25 e o arquivo mês-ano.pdf ainda não existir, então...
'If Day(Date) >= 12 And Len(Dir(CurrentProject.Path & "\Relatórios" & Format(Now, "mm-yyyy") & ".pdf")) = 0 Then
If Day(Date) >= 25 And Len(Dir(CurrentProject.Path & "\Relatórios\Inspecao_" & Format(Now, "mm-yyyy") & ".pdf")) = 0 Then
DoCmd.SetWarnings False
' cria o pdf na subpasta Relatórios com nome "mês-ano.pdf"
'DoCmd.OutputTo acOutputReport, "Nome do Relatorio", "PDFFormat(*.pdf)", CurrentProject.Path & "\Relatórios" & Format(Now, "mm-yyyy") & ".pdf", False, "", 0, acExportQualityScreenDoCmd.SetWarnings True
' cria as variáveis dos objetos cdo eenvia o email
Dim Mens As Object
Dim Config As Object
Set Mens = CreateObject("CDO.Message")
Set Config = CreateObject("CDO.Configuration")
With Config
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "E-Mail de quem envia@Gmail.com"
.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Senha"
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.Update
End With
Set Mens = New CDO.Message
With Mens
Set .Configuration = Config
.From = "Mensagem"
.Sender = "E-mail de quem envia"
.Subject = "Relatórios Administrativos da Unidade Prisional de Mineiros"
.HTMLBody = "Segue em anexo (PDF) os relatórios de inspeção e quantitativos do CIS Mineiros-GO"
.To = "Destinatário_emai"
' a linha abaixo pega o pdf criado e anexa à mensagem
'.AddAttachment CurrentProject.Path & "\Relatórios" & Format(Now, "mm-yyyy") & ".pdf"
.AddAttachment CurrentProject.Path & "\Relatórios\Inspecao_" & Format(Now, "mm-yyyy") & ".pdf"
.AddAttachment CurrentProject.Path & "\Relatórios\Quantitativo_Fechado_" & Format(Now, "mm-yyyy") & ".pdf"
.AddAttachment CurrentProject.Path & "\Relatórios\Quantitativo_Albergue_" & Format(Now, "mm-yyyy") & ".pdf"
.Send
End With
MsgBox "E-mail's enviados com sucesso." & vbCrLf & _
"Foram criados na pasta Relatórios, os arquivos em PDF do corrente mês", vbOKOnly + vbInformation, "Relatórios enviados"
Set Mens = Nothing
Set Config = Nothing
Exit Sub
Else
Exit Sub
End If
End Sub