MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Enviar e-mail a partir do Access inserindo um relatório e arquivos do campo "Anexos"

    Compartilhe

    jptecauto
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 21/09/2018

    Enviar e-mail a partir do Access inserindo um relatório e arquivos do campo "Anexos"

    Mensagem  jptecauto em 22/9/2018, 02:45

    Boa noite Pessoal!

    Estou com dificuldade em achar a solução para este problema. Eu tenho um formulário onde criei um botão para enviar por e-mail o relatório deste formulário e também quero anexar os arquivos existentes o campo "Anexos" deste formulário. Mas não estou conseguindo!!!

    Alguém poderia me ajudar por favor!

    segue o código:

    Private Sub btemail_Click()

    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


    If IsNull(Me!ID) Then Exit Sub
    If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord


    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 = "RNCC FEA_" & Me!ID & ".pdf"
    strLocal = CurrentProject.Path & "\enviados\" & strArquivo


    '----------------------------------------------------------------------------
    'Abre o relatório filtrado e oculto, de acordo com a proposta selecionada.
    '----------------------------------------------------------------------------
    DoCmd.OpenReport "Relatório Não Conformidade", acViewPreview, , "ID=" & Me!ID, acHidden

    '----------------------------------------------------------------------------
    'Gera o pdf do relatório através do comando OutputTo.
    'O mecanismo do Access reconhece que o relatório solicitado pelo OutputTo
    'já está aberto e então o OutputTo usará o relatório já aberto e filtrado.
    '----------------------------------------------------------------------------
    DoCmd.OutputTo acOutputReport, "Relatório Não Conformidade", acFormatPDF, strLocal


    '---------------------------------------------
    'Fecha o relatório que está oculto
    '---------------------------------------------
    DoCmd.Close acReport, "Relatório Não Conformidade"

    '-------------------------------------------------------------
    'Adiciona o arquivo pdf no anexo, capturado da pasta enviados
    '-------------------------------------------------------------
    objAnexo.Add strLocal, olByValue, 1


    objMail.To = DLookup("[E-mail Address]", "tbl_Contatos", "[ID]=" & Nz([Supervisor], 0))

    objMail.Subject = "RNCC" & " - " & Me!Cliente & " - " & "FEA " & Me!ID

    '--------------------------------------------------------
    '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

    jptecauto
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 21/09/2018

    Enviar e-mail a partir do Access inserindo um relatório e arquivos do campo "Anexos"

    Mensagem  jptecauto em 24/9/2018, 17:05

    Boa tarde,

    Alguém saberia a forma para resolver este problema? Se souberem por favor poderiam me ajudar!!!

    Abraços!

      Data/hora atual: 11/12/2018, 12:10