Ir para conteúdo
Fórum Script Brasil
  • 0

Botao que gera um PDF e envia por email


leonardo_r_mota

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0

Fera SQL não faz esse tipo de coisa, é apenas para criar e manipular banco de dados, tabelas e querys.

No exemplo que foi passado pelo Iceguy é bem útil para essa questão, seria interessante avaliar melhor o conteúdo dela.

Link para o comentário
Compartilhar em outros sites

  • 0

Codigo para geração de PDF e envio por e-mail

' FUNÇÃO PARA O ENVIO DO RELATÓRIO PDF VIA E-MAIL
' variável que representa o mês corrente
'Função para enviar todo dia 25 do mes, caso crie um botão, desabilite essa linha
'PDF sera gerado na sub-pasta Relatórios(com acento) dentro da pasta do BD
'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) >= 14 And Len(Dir(CurrentProject.Path & "\Relatórios\Inspecao_" & Format(Now, "mm-yyyy") & ".pdf")) = 0 Then



' cria o pdf na subpasta Relatórios com nome "mês-ano.pdf"
'DoCmd.OutputTo acOutputReport, "NOME DO RELATORIO NO BD", "PDFFormat(*.pdf)", CurrentProject.Path & "\Relatórios\" & Format(Now, "mm-yyyy") & ".pdf", False, "", 0, acExportQualityScreen

' cria as variáveis dos objetos cdo e envia 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@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 = "TITULO E-MAIL"

.Sender = "SEU E-MAIL"


.Subject = TÍTULO"
.HTMLBody = "MENSAGEM"

.To = "DESTINATARIO"
' 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\NomeDoRelatorio_" & 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

Editado por MrMALJ
Link para o comentário
Compartilhar em outros sites

  • 0
E como seria para mandar pelo Mozila Firefox?

Este codigo manda pelo CdoSys do Windows...

não necessita de nenhum navegador, ou outlook ou qualquer auxiliar de envio

Ele o faz de forma autonoma

não costumo entrar muito aqui, por falta de tempo.. mas se quiser uma ajuda sobre isso me avise que marcaremos para resolver isso.... ai se precisar darei atencao especial

Aguardo resposta.. qualquer coisa envie-me e-mail avisando de ainda precisa. Caso precise viremos a este tópico e destrinchareimos isso.. ok?

Harysohn@hotmail.com

Link para o comentário
Compartilhar em outros sites

  • 0

Amigão o código funciona como está ai.. é so aplica-lo em um botão ou no evento ao abrir de algum form...

Logicamente tem que alterar algumas coisas para adaptá-lo ao seu uso...

Em não conseguindo, me envie apenas a parte do seu BD que precisa que faça isso..

e o relatório que quer exportar e enviar, que ajeito pra voce...

Harysohn@hotmail.com

Saudações

Link para o comentário
Compartilhar em outros sites

  • 0

baixe um progaminha chamado SaveAsPDF, http://www.microsoft.com/download/en/detai...=en&id=9943

depois, faça um botão no seu formulário e cole o seguinte código no evento AO CLICAR

DoCmd.SendObject acSendReport, "como_ficará_o_nome_do_PDF", "pdf", "email_destino", "email_remetente", , "Assunto do email", "Corpo da mensagem"

Espero ter ajudado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...