MaximoAccess

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

Obrigado

Administração do MaximoAccess


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.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]anexar arquivos email

    avatar
    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 170
    Registrado : 02/09/2016

    [Resolvido]anexar arquivos email Empty [Resolvido]anexar arquivos email

    Mensagem  ictsp 10/2/2017, 13:37

    Bom dia srs! Por favor, estou salvando meus relatórios da seguinte forma:
    Código:
    Dim strArquivo As String
    Dim strLocal As String
    strArquivo = Format(Me!EMPR, ">") & "_" & Format(data(), "ddmmyy") & "_" & loc & ".PDF"
    strLocal = CurrentProject.Path & "\orçamentos\2017\" & strArquivo
    DoCmd.OutputTo acOutputReport, "REL", acFormatPDF, strLocal, False
    MsgBox "Relatório salvo com sucesso", vbInformation + vbOKOnly, "Aviso"
    CurrentDb.Execute "INSERT INTO tbPDF (empr,pdf,local,data) VALUES ('" & Me.EMPR & "','" & strArquivo & "','" & strLocal & "','" & Me.data & "')"

    meu form para enviar email está na foto abaixo para melhor entendimento da questão.

    A listbox "arquivos" é alimentada através da tbPDF e o campo pdf.

    A caixa de texto "Anexo" é preenchida com o nome dos pdfs que quero enviar, podendo ser um ou mais.

    O código abaixo foi retirado de um modelo do Avelino, que recebi do amigo FabioPaes e tentei adaptar às minhas necessidades.

    Coloquei no botão enviar:
    Código:
    Private Sub btenviar_Click()
    '----------------------------------------------
    'Criando as variáveis que irão assumir as
    'propriedades e métodos das classes do outlook
    '----------------------------------------------
    Dim objOut As Outlook.Application
    Dim objMail As Outlook.MailItem
    Dim objContas As Outlook.Accounts 'selecionar a conta
    Dim objAnexo As Outlook.Attachments 'anexar arquivos
    '---------------------------------------------
    'Carregando a coleção do Outlook
    'Similar ao abrir o Outlook
    '---------------------------------------------
    Set objOut = New 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)

    '-----------------------------------------------------------------------
    'Passando os valores do formulário exemplo para os itens de email
    '-----------------------------------------------------------------------
    objMail.To = Me!txpara 'destinatário
    objMail.CC = Nz(Me!txcc, "") 'com cópia
    objMail.BCC = Nz(Me!txcco, "") 'Com cópia oculta
    'Adicionando os anexos
    '---------------------------------
    For j = 1 To Me!anexo.Text
     objAnexo.Add Me!anexo.Text, olByValue, 1, Me!anexo.Text
    Next
    '-----------------------------------------
    'Seleciona a conta que enviará a mensagem
    '-----------------------------------------
    SendUsingAccount = objOut.Session.Accounts(Me!txcontas.Value)
    '--------------------------------------------
    'Usando o método enviar, da classe de itens
    '--------------------------------------------
    objMail.send

    End Sub

    Porém está dando erro na hora de anexar os arquivos:

    Alguém poderia por favor, me explicar como anexar corretamente os arquivos? Desde já, agradeço a colaboração dos colegas. É a primeira vez que tento fazer isso. Já pesquisei no fórum muitos exemplos, mas não entendi.

    Obrigado a todos! Abraço!
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7064
    Registrado : 15/03/2013

    [Resolvido]anexar arquivos email Empty Re: [Resolvido]anexar arquivos email

    Mensagem  ahteixeira 11/2/2017, 18:16

    Olá, seria ideal dizer em que linha está ocorrer o erro e que tipo.

    Acho que a questão está no caminho ao adicionar o ficheiro.
    Teste diretamente
    strLocal = CurrentProject.Path & "\orçamentos\2017\" & strArquivo

    Caso funcione, pode adicionar uma coluna oculta com o caminho completo.
    Abraço
    avatar
    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 170
    Registrado : 02/09/2016

    [Resolvido]anexar arquivos email Empty Re: [Resolvido]anexar arquivos email

    Mensagem  ictsp 11/2/2017, 21:38

    Boa noite ahteixeira! Antes de mais nada, muito obrigado por sua atenção. Vou tentar ser mais claro no meu problema:

    ao clicar no pdf selecionado na listbox "txanexo", o caminho completo é jogado na listbox "anexo".

    'Adicionando os anexos
    '---------------------------------
    For j = 1 To Me!anexo.ListCount
    objAnexo.Add Me!anexo.Column(0, j - 1), olByValue, 1, Me!anexo.Column(1, j - 1)
    Next


    O erro que está dando é o seguinte:

    erro em tempo de execução '91'
    A variável do objeto ou a variavel do bloco 'With' não foi definida

    o erro é nessa linha:
    objAnexo.Add Me!anexo.Column(0, j - 1), olByValue, 1, Me!anexo.Column(1, j - 1)

    Aproveitando a oportunidade, vc poderia, por favor, me explicar como preencher 2 colunas simultaneamente da listbox? Estou usando o caminho completo do pdf na listbox anexo, e sua idéia é perfeita pra melhorar o visual.

    A fonte que estou baseando meu projeto é uma pagina do Avelino:
    http://www.usandoaccess.com.br/dicas/outlook-anexos-richtext-account.asp

    Desde já muito obrigado! Abraço





    avatar
    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 170
    Registrado : 02/09/2016

    [Resolvido]anexar arquivos email Empty Re: [Resolvido]anexar arquivos email

    Mensagem  ictsp 13/2/2017, 10:46

    Bom dia Srs! fiz alguns testes com o codigo que estou usando e consegui enviar um arquivo em anexo, usando uma textbox.

    O problema realmente está na hora de usar a listbox e anexar vários arquivos:

    For j = 1 To Me!anexo.ListCount
    objAnexo.Add Me!anexo.Column(0, j - 1), olByValue, 1, Me!anexo.Column(1, j - 1)
    Next

    Alguém poderia me ajudar? Grato!!
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7064
    Registrado : 15/03/2013

    [Resolvido]anexar arquivos email Empty Re: [Resolvido]anexar arquivos email

    Mensagem  ahteixeira 13/2/2017, 14:31

    Olá, aparentemente está bem,
    Verifique efetivamente se é na listbox anexo ou txanexo e realmente tem o caminho completo.
    A "olho" não é fácil.
    Caso, permanece, será melhor postar base de dados com formulario em questão funcional, para podermos testar.
    Abraço
    avatar
    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 170
    Registrado : 02/09/2016

    [Resolvido]anexar arquivos email Empty Re: [Resolvido]anexar arquivos email

    Mensagem  ictsp 13/2/2017, 14:51

    Boa tarde ahteixeira!

    Por favor, perdoe minha ignorância, é a primeira vez que tento fazer essa operação. Estou interpretando esse código da seguinte forma:

    For j = 1 To Me!anexo.ListCount (No meu entendimento, esta linha refere-se a qtde de itens da listbox)

    objAnexo.Add Me!anexo.Column(0, j - 1), olByValue, 1, Me!anexo.Column(1, j - 1) ( ele anexa as colunas 0 e 1 que pra mim, seria respectivamente o nome do arquivo e o caminho do arquivo)

    Next

    Na listbox txanexo tenho os dois valores: column(0) nome arquivo e column(1) caminho arquivo

    Porém, não estou conseguindo jogar esses valores simultaneamente na listbox "anexo" (nome arquivo column(0) e caminho arquivo column(1) .

    avatar
    ictsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 170
    Registrado : 02/09/2016

    [Resolvido]anexar arquivos email Empty Re: [Resolvido]anexar arquivos email

    Mensagem  ictsp 13/2/2017, 15:19

    Amigos, obrigado pela ajuda. Depois de muita briga, consegui achar a solução para o problema:

    For j = 1 To Me!anexo.ListCount
    objclip.Add CurrentProject.Path & "\orçamentos\2017\" & Me!anexo.Column (0, j - 1), olByValue, 1
    Next

    Dessa forma, consigo anexar os arquivos que desejo através da listbox.

    Muito obrigado!
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7064
    Registrado : 15/03/2013

    [Resolvido]anexar arquivos email Empty Re: [Resolvido]anexar arquivos email

    Mensagem  ahteixeira 13/2/2017, 15:51

    Olá, está descoberto!
    Afinal nao tinha o caminho completo.
    Obrigado pelo retorno.
    Abraço

      Data/hora atual: 26/2/2021, 16:26