MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Enviar relatório pdf por email

    Claudia_p
    Claudia_p
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 30
    Registrado : 06/12/2011

    Enviar relatório pdf por email Empty Enviar relatório pdf por email

    Mensagem  Claudia_p 13/12/2016, 12:39

    Prezados,

    O código abaixo não funciona, inseri um botão no formulário e vinculei o código, mas ao clicar nada acontece... Poderiam me ajudar?

    Obrigada

    Código:
    Private Sub Comando68_Click()
    On Error Resume Next

    Dim OutApp As Object
    Dim OutMail As Object
    Dim OutAnexo As Object
    Dim strArquivo, strLocal As String
    Const olMailItem = 0
    Const olByValue = 1

    If IsNull(Me.email) Then MsgBox "Email Não Preenchido No Cadastro"
    Exit Sub

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(olMailItem)
    Set OutAnexo = OutMail.Attachments

    strArquivo = Me.cod_orc & "_" & Me.cliente & ".pdf"
    strLocal = "\\PAROLISRV02\Servidor Arquivos\Desenvolvimento\Orçamentos pdf\" & strArquivo

    DoCmd.OpenReport "Orçamento", acViewPreview, , "cod_orc=" & Me.cod_orc
    DoCmd.OutputTo acOutputReport, "Orçamento", "PDFFormat(*.pdf)", strLocal, False, "", 0, acExportQualityPrint
    DoCmd.Close acReport, "Orçamento"
    OutAnexo.Add strLocal, olByValue, 1

    OutMail.To = Me.email
    OutMail.Subject = "Orçamento Parolibor " & Me.cod_orc
    OutMail.Body = "Prezados Srs., segue orçamento conforme solicitado. Agradecemos a oportunidade da consulta."
    OutMail.Display

    Set OutMail = Nothing
    Set OutApp = Nothing
    Set OutAnexo = Nothing


    End Sub
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    Enviar relatório pdf por email Empty Re: Enviar relatório pdf por email

    Mensagem  caiosouza 13/12/2016, 16:45

    Boa tarde.

    Esse módulo permite enviar email via outlook, com anexos, assunto, corpo de e-mail e Assinatura padrão


    Adapte de acordo com sua necessidade.

    Código:
    Sub EnviaEmail()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim corpo As String
    Dim strReportName$
    Dim AttachmentPath$
    Dim subject$
    Dim email_to$
    Dim email_cc$
    Dim subpasta As String
    'Variáveis

    subpasta = "Sua Pasta Onde Armazenara Os PDF"
        strReportName = "Seu Relatorio"
        DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, subpasta & _
                      "\" & "Nome do Documento " & Forms!SeuForm.NumeroSequencial & ".pdf", False
    'Anexa relatório em formato PDF no e-mail
        subject = "Assunto"
        AttachmentPath = subpasta & "\" & "Nome do Documento" & Forms!SeuForm.NumeroSequencial & ".pdf"
        email_to = "para"
        email_cc = "copias"
    'Define os controles para envio de e-mail
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
    'Abre o Outlook.exe
                corpo = "<html><p><span style=""font-family: Calibri; font-size: 11pt;"">Prezados," _
                & "<p>Corpo do E-mail... " _
     _
                & vbCrLf & vbCrLf _
                & "<p>3 Linhas abaixo do Inicio" _
                & "<p>... " _
                & "<p></span></html>"
    'Corpo do e-mail em formato HTML
    With OutMail
            .Display
            .To = email_to
            .CC = email_cc
            .BCC = ""
            .subject = subject
            .Attachments.Add (AttachmentPath)
            .HTMLBody = corpo & "<br>" & .HTMLBody
           
    End With
    'Envia e-mail
        On Error GoTo 0
        Set OutMail = Nothing
        Set OutApp = Nothing
    End Sub



    Esse é o módulo, agora no botão no evento ao clicar, coloque Call EnviaEmail()
    Claudia_p
    Claudia_p
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 30
    Registrado : 06/12/2011

    Enviar relatório pdf por email Empty Re: Enviar relatório pdf por email

    Mensagem  Claudia_p 14/12/2016, 18:39

    Oi Caio, muito obrigada...

    Salvei em módulo, e vinculei ao botão como indicou, mas aparece o seguinte erro: Erro de compilação. Era esperada variável ou procedimento, não módulo
    Claudia_p
    Claudia_p
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 30
    Registrado : 06/12/2011

    Enviar relatório pdf por email Empty Re: Enviar relatório pdf por email

    Mensagem  Claudia_p 15/12/2016, 12:23

    Caio
    Já percebi que salvei o módulo com o nome do procedimento, consertei e está funcionando ...
    Outra dúvida como eu posso chamar nesse módulo os controles de formulário para preenchimento de alguns campos, não dá para usar o Me., não sei como referenciar, pode me ajudar novamente....

    Estou tentando desta forma mas não está funcionando, no botão ficou Call EnviaEmail(Form_orcam_form)

    Código:
    Public Sub EnviaEmail(frm As Form)

    Dim OutApp As Object
    Dim OutMail As Object
    Dim corpo As String
    Dim strReportName$
    Dim AttachmentPath$
    Dim subject$
    Dim email_to$
    Dim email_cc$
    Dim subpasta, strArquivo As String

    'Variáveis

    If IsNull(frm.email) Then MsgBox "Email Não Preenchido No Cadastro"
    Exit Sub

    strArquivo = frm.cod_orc & "_" & frm.cliente & ".pdf"
    subpasta = "\\PAROLISRV02\Servidor Arquivos\Desenvolvimento\Orçamentos pdf\" & strArquivo
    strReportName = "Orçamento"
       
        DoCmd.OpenReport "Orçamento", acViewPreview, , "cod_orc=" & frm.cod_orc
        DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, subpasta & _
                      strArquivo & ".pdf", False
    'Anexa relatório em formato PDF no e-mail
        subject = "Orçamento Parolibor " & frm.cod_orc
        AttachmentPath = subpasta & strArquivo & ".pdf"
        email_to = frm.email

    'Define os controles para envio de e-mail
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
    'Abre o Outlook.exe
                corpo = "<html><p><span style=""font-family: Calibri; font-size: 11pt;"">Prezados Srs., segue orçamento conforme solicitado. Agradecemos a oportunidade da consulta." _
                & "<p>Corpo do E-mail... " _
     _
                & vbCrLf & vbCrLf _
                & "<p>3 Linhas abaixo do Inicio" _
                & "<p>... " _
                & "<p></span></html>"
    'Corpo do e-mail em formato HTML
    With OutMail
            .Display
            .To = email_to
            .CC = email_cc
            .BCC = ""
            .subject = subject
            .Attachments.Add (AttachmentPath)
            .HTMLBody = corpo & "<br>" & .HTMLBody
    End With
    'Envia e-mail
        On Error GoTo 0
        Set OutMail = Nothing
        Set OutApp = Nothing
    End Sub

    Obrigada
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    Enviar relatório pdf por email Empty Re: Enviar relatório pdf por email

    Mensagem  caiosouza 15/12/2016, 22:33

    Já tentou Forms!SeuForm!SeuControle ?
    Claudia_p
    Claudia_p
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 30
    Registrado : 06/12/2011

    Enviar relatório pdf por email Empty Re: Enviar relatório pdf por email

    Mensagem  Claudia_p 17/1/2017, 13:58

    Caio, desculpe a demora em te dar retorno, estava em férias.

    Ficou assim, mas o botão no formulário não funciona... o que será que está errado?

    Código:
    Public Sub EnviaEmail()

    Dim OutApp As Object
    Dim OutMail As Object
    Dim corpo As String
    Dim strReportName$
    Dim AttachmentPath$
    Dim subject$
    Dim email_to$
    Dim email_cc$
    Dim subpasta, strArquivo As String

    'Variáveis

    If IsNull(Forms!orcam_form!email) Then MsgBox "Email Não Preenchido No Cadastro"
    Exit Sub

    strArquivo = Forms!orcam_form!cod_orc & "_" & Forms!orcam_form!cliente & ".pdf"
    subpasta = "\\PAROLISRV02\Servidor Arquivos\Desenvolvimento\Orçamentos pdf"
    strReportName = "Orçamento"
        
        DoCmd.OpenReport "Orçamento", acViewPreview, , "cod_orc=" & Forms!orcam_form!cod_orc
        DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, subpasta & _
                       "\" & strArquivo & ".pdf", False

    'Anexa relatório em formato PDF no e-mail

        subject = "Orçamento Parolibor " & Forms!orcam_form!cod_orc
        AttachmentPath = subpasta & " \ " & strArquivo & ".pdf"
        email_to = Forms!orcam_form!email
        email_cc = "xxx@xxxx.com.br"
    'Define os controles para envio de e-mail
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
    'Abre o Outlook.exe
                corpo = "<html><p><span style=""font-family: Calibri; font-size: 11pt;"">Prezados Srs., segue orçamento conforme solicitado. Agradecemos a oportunidade da consulta." _
                & "<p>Corpo do E-mail... " _
     _
                & vbCrLf & vbCrLf _
                & "<p>3 Linhas abaixo do Inicio" _
                & "<p>... " _
                & "<p></span></html>"
    'Corpo do e-mail em formato HTML
    With OutMail
            .Display
            .To = email_to
            .CC = email_cc
            .BCC = ""
            .subject = subject
            .Attachments.Add (AttachmentPath)
            .HTMLBody = corpo & "<br>" & .HTMLBody
    End With
    'Envia e-mail
        On Error GoTo 0
        Set OutMail = Nothing
        Set OutApp = Nothing
    End Sub

    Conteúdo patrocinado


    Enviar relatório pdf por email Empty Re: Enviar relatório pdf por email

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 15:49