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]Erro - Não é possível localizar este arquivo 2147024894

    cy_rangel
    cy_rangel
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 38
    Registrado : 18/01/2018

    [Resolvido]Erro - Não é possível localizar este arquivo 2147024894 Empty [Resolvido]Erro - Não é possível localizar este arquivo 2147024894

    Mensagem  cy_rangel em 6/5/2020, 20:05

    Olá Pessoal,

    Eu já vi que tem tópicos semelhantes a esse meu neste fórum, porém a pessoa que postou queria entender o erro, eu gostaria de que o VBA pulasse o erro e fosse para a próxima ação, seguem abaixo as minhas dúvidas:


    • 1

    Tenho o código a seguir, com a finalidade de gerar um e-mail e anexar um PDF de acordo com um campo concatenado, porém gostaria de ajusta-lo. Se ele não localizar o arquivo, simplesmente siga com a rotina e no final abra uma caixa de mensagem, informando que o boleto não foi anexado.

    A linha que está dando erro é:
    strLocalBoleto = CurrentProject.Path & "\Print's\" & Me("Renomear Boleto") & ".pdf"



    • 2

    Ainda se alguém souber e puder ajudar, como eu faço com que o código entenda que, após Me"(Renomear Boleto"), pode vir qualquer outro caracter, e ele precisa localizar o arquivo somente até esse ponto? Depois disso, ele pode anexar tudo o que encontrar que tenha o início da mesma referência. Isso existe? É possível?

    Código:
    Dim strLocalDemonstr As String
    Dim strLocalBoleto As String

    Dim objOut As Object
    Dim objmail As Object
    Dim objAnexo As Object
    Const olMailItem = 0
    Const olByValue = 1

    Set objOut = CreateObject("Outlook.application")
    Set objmail = objOut.CreateItem(olMailItem)
    Set objAnexo = objmail.Attachments


    With objmail
    .SentOnBehalfOfName = Me!Conta
    .To = Me("E-mail")  
    .Subject = Me!Assunto & " - " & Me!Segurado
    .Body = "Prezados (as)," & vbNewLine & vbNewLine & Saudacao & vbNewLine & vbNewLine _
                    & Me!Mensagem & vbNewLine & vbNewLine & vbNewLine & vbNewLine _
                    & Me!Assinatura & vbNewLine & vbNewLine
                    
    .Save

    strLocalBoleto = CurrentProject.Path & "\Print's\" & Me("Renomear Boleto") & ".pdf"
    objAnexo.Add strLocalBoleto, olByValue, 1
    objmail.Display

    Set objAnexo = Nothing
    Set objmail = Nothing
    Set objOut = Nothing

    End With
    End Sub


    Muito obrigada  Smile
    Cy_Rangel
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7670
    Registrado : 05/11/2009

    [Resolvido]Erro - Não é possível localizar este arquivo 2147024894 Empty Re: [Resolvido]Erro - Não é possível localizar este arquivo 2147024894

    Mensagem  Alexandre Neves em 6/5/2020, 21:00

    Boa noite e bem-vinda ao fórum
    Será isto que pretende?
    Código:
       Dim strLocalDemonstr As String, strLocalBoleto As String, objOut As Object, objmail As Object, objAnexo As Object, bolExisteFicheiro As Boolean
        Const olMailItem = 0: Const olByValue = 1

        Set objOut = CreateObject("Outlook.application"): Set objmail = objOut.CreateItem(olMailItem): Set objAnexo = objmail.Attachments


        With objmail
            .SentOnBehalfOfName = Me!Conta
            .To = Me("E-mail")
            .Subject = Me!Assunto & " - " & Me!Segurado
            .Body = "Prezados (as)," & vbNewLine & vbNewLine & Saudacao & vbNewLine & vbNewLine & Me!Mensagem & vbNewLine & vbNewLine & vbNewLine & vbNewLine & Me!Assinatura & vbNewLine & vbNewLine
            .Save
            
            strLocalBoleto = CurrentProject.Path & "\Print's\" & Me("Renomear Boleto") & ".pdf"
            If Dir(strLocalBoleto) = "" Then
                bolExisteFicheiro = False
            Else
                bolExisteFicheiro = True
                objAnexo.Add strLocalBoleto, olByValue, 1
            End If
            .display
        End With
        Set objAnexo = Nothing
        Set objmail = Nothing
        Set objOut = Nothing
        If bolExisteFicheiro Then
            MsgBox "O ficheiro " & strLocalBoleto & " não foi anexado."
        End If


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    cy_rangel
    cy_rangel
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 38
    Registrado : 18/01/2018

    [Resolvido]Erro - Não é possível localizar este arquivo 2147024894 Empty Re: [Resolvido]Erro - Não é possível localizar este arquivo 2147024894

    Mensagem  cy_rangel em 6/5/2020, 23:11

    Olá Alexandre,

    Obrigada pelo "bem-vinda  Very Happy " já estou bem feliz pelo retorno tão rápido e ainda mais pela resolução do meu post.

    Era exatamente isso que eu precisava, eu apenas inverti a referência IF "bolExisteFicheiro", coloquei a primeira como False a segunda como True, deste modo a msg só acontece quando não existem ficheiros a serem anexados.

    Mas ficou sensacional, obrigada novamente!


    Você saberia também como posso fazer para ajustar quanto ao tópico "2" que mencionei na minha primeira msg?

    Geralmente no access dentro de uma Qry, quando quero que ele me traga qualquer informação após determinado texto, eu colocaria por exemplo no campo critério: Como "America*" (asterisco) Assim, qualquer coisa após o "America" será filtrado também, mas não sei como fazer isso para a localização de um arquivo.


    Desde já agradeço,

    Cy Rangel Wink
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7670
    Registrado : 05/11/2009

    [Resolvido]Erro - Não é possível localizar este arquivo 2147024894 Empty Re: [Resolvido]Erro - Não é possível localizar este arquivo 2147024894

    Mensagem  Alexandre Neves em 7/5/2020, 15:00

    Boa tarde
    Será isto
    Código:
        Dim strLocalDemonstr As String, objOut As Object, objmail As Object, objAnexo As Object, bolExisteFicheiro As Boolean
        Dim fso, Pasta, Ficheiro
        Const olMailItem = 0: Const olByValue = 1

        Set objOut = CreateObject("Outlook.application"): Set objmail = objOut.CreateItem(olMailItem): Set objAnexo = objmail.Attachments
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set Pasta = fso.GetFolder(CurrentProject.Path & "\Print's\")
       
        With objmail
            .SentOnBehalfOfName = Me!Conta
            .To = Me("E-mail")
            .Subject = Me!Assunto & " - " & Me!Segurado
            .Body = "Prezados (as)," & vbNewLine & vbNewLine & Saudacao & vbNewLine & vbNewLine & Me!Mensagem & vbNewLine & vbNewLine & vbNewLine & vbNewLine & Me!Assinatura & vbNewLine & vbNewLine
            .Save
           
            bolExisteFicheiro = False
            For Each Ficheiro In Pasta.Files
                If Ficheiro.Name Like Me("Renomear Boleto") & "*.pdf" Then
                    bolExisteFicheiro = True
                    objAnexo.Add CurrentProject.Path & "\Print's\" & Ficheiro.Name, olByValue, 1
                End If
            Next
            .display
        End With
        Set objAnexo = Nothing
        Set objmail = Nothing
        Set objOut = Nothing
        If bolExisteFicheiro = False Then
            MsgBox "O ficheiro " & strLocalBoleto & " não foi anexado."
        End If
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    cy_rangel
    cy_rangel
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 38
    Registrado : 18/01/2018

    [Resolvido]Erro - Não é possível localizar este arquivo 2147024894 Empty Re: [Resolvido]Erro - Não é possível localizar este arquivo 2147024894

    Mensagem  cy_rangel em 8/5/2020, 01:06

    Alexandre, sensacional, sem palavras!

    Isso que você me ajudou será de grande importância na minha rotina.


    Obrigada mesmo e PARABÉNS.


    Ps.: Se cuida aí em Portugal!
    cy_rangel
    cy_rangel
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 38
    Registrado : 18/01/2018

    [Resolvido]Erro - Não é possível localizar este arquivo 2147024894 Empty Re: [Resolvido]Erro - Não é possível localizar este arquivo 2147024894

    Mensagem  cy_rangel em 8/5/2020, 19:23

    @Alexandre Neves,

    Boa-tarde.

    Tenho um outro tópico nesse fórum e gostaria de saber se você conseguiria me ajudar?

    Uma pessoa chegou próximo mas ainda não é exatamente o que eu preciso e como você foi tão assertivo quanto a essa solicitação, talvez você saiba como fazer a outra.

    O nome do tópico é "Utilizar Grupo de Opções como Filtro em Tabela".

    Se puder me ajudar!


    Agradeço novamente!

    Att,
    Cy Rangel.

      Data/hora atual: 10/8/2020, 06:12