Vídeo recomendado
https://youtu.be/diWPPPhW-9E

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

Discussões sobre a integração do Excel com o Banco de Dados Access

Moderador: joseA

Avatar do usuário
cy_rangel
Colaborador
Colaborador
Mensagens: 88
Registrado em: Sex Set 04, 2015 8:32 pm

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

Mensagem por cy_rangel »

Pessoal,
  • 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: Selecionar todos

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 :)
Cy Rangel
Editado pela última vez por cy_rangel em Qua Mai 13, 2020 4:45 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Erro - Não é possível localizar este arquivo 2147024894

Mensagem por webmaster »

Para a chegagem do arquivo:

Código: Selecionar todos

Function ArquivoExiste(ByVal caminhoDoArquivo As String)
    Dim dirArquivoExiste As String
 
    dirArquivoExiste = Dir(caminhoDoArquivo)
 
    If dirArquivoExiste = "" Then
        ArquivoExiste = False
    Else
        ArquivoExiste = True
    End If
End Function

Sub Teste()
    If ArquivoExiste("C:\Temp\Algum arquivo.xlsx") Then
        MsgBox "Existe"
    Else
        MsgBox "Não tem nada aqui"
    End If
End Sub


Avatar do usuário
cy_rangel
Colaborador
Colaborador
Mensagens: 88
Registrado em: Sex Set 04, 2015 8:32 pm

Re: Erro - Não é possível localizar este arquivo 2147024894

Mensagem por cy_rangel »

Webmaster, obrigada pelo retorno, mas como ainda não tenho o nível de conhecimento o suficiente para compreender como adaptar o seu código a minha necessidade, eu não consegui coloca-lo em prática, deste modo, obtive a resposta de um outro moderador em outro site.

Deixo os créditos a "Alexandre Neves" e o cógido a seguir para quem também precisar.

PS.: o código atende ambas as questões realizadas nesse post.

Código: Selecionar todos

 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

Desde já agradeço a todos pela disponibilidade de sempre!

Att
Cy Rangel.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder