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

    [Resolvido]FileCopy: Error 53' O arquivo não foi localizado

    Compartilhe
    avatar
    biligo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 216
    Registrado : 10/04/2014

    [Resolvido]FileCopy: Error 53' O arquivo não foi localizado

    Mensagem  biligo em Dom 07 Dez 2014, 09:00

    Boas pessoal,

    Estou tentando decifrar o porque da geração deste erro.
    Não importa o que eu coloque sempre me diz que não foi localizado o arquivo. dei uma procurada na net e esta é a síntese que me baseio:

    FileCopy "c:\teste\arq1.txt", "c:\windows\arq2.txt"
    Aqui o arquivo arq1.txt é copiado do diretório c:\teste para o diretório c:\windows com o nome de arq2.txt

    Este é o codigo ao qual estou utilizando:

    Dim ArquivoLocal, ArquivoFinal As String
       ArquivoLocal = SelecionarPasta
       MsgBox "Este é o local atual do arquivo: " & ArquivoLocal
       ArquivoFinal = Me.Caminho.value & "\" & SeparaNomes(x, "\", 1)
       MsgBox "Este é o local de gravação: " & ArquivoFinal
           
           FileCopy "ArquivoLocal", "ArquivoFinal"

    As mensagens me retornam exatamente os devidos locais do arquivo e destinos com o nome e extenção do arquivo.
    Se eu estiver fazendo alguma besteira por favor explicite-me.

    Obs.: Mesmo alterando os valores de (ArquivoLocal = "C:\teste.txt"; ArquivoFinal = "C:\Pasta\teste.txt") ainda me é gerado o mesmo erro
    avatar
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11235
    Registrado : 30/12/2009

    Re: [Resolvido]FileCopy: Error 53' O arquivo não foi localizado

    Mensagem  criquio em Dom 07 Dez 2014, 13:16

    Tente retirando as aspas na linha FileCopy:

    Código:
    FileCopy ArquivoLocal, ArquivoFinal

    Usamos aspas em Strings. Nesse caso, você está usando variáveis. As Strings já foram passadas nas variáveis. Usaria-se as aspas se estivesse colocando os caminhos no lugar das variáveis:

    Código:
    FileCopy "c:\teste\arq1.txt", "c:\windows\arq2.txt"


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique [Você precisa estar registrado e conectado para ver este link.] e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    biligo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 216
    Registrado : 10/04/2014

    Re: [Resolvido]FileCopy: Error 53' O arquivo não foi localizado

    Mensagem  biligo em Seg 08 Dez 2014, 10:25

    Boas Criquio,

    Muito obrigado, funcionou. Consigo pegar um arquivo e copiá-lo a outra pasta.
    Bom o objetivo do tópico já foi concluído mas gostaria de dar continuidade apenas com a seguinte questão:
    Com este método FileCopy é possível a mobilização de múltiplos arquivos? a caixa de dialogo que chama os arquivos que utilizo,
    foi disponibilizada pelo JPaulo e possui esta função, (posso selecionar vários arquivos) mas apenas o primeiro e enviado ao destino
    Dei uma procurada ontem mas o melhor que encontrei foi o seguinte, segue:

    Código:

    > Dim strDestinationFolder As String
    > Dim strSourceFolder As String
    > Dim strFile As String
    >
    > strDestinationFolder = "C:\Another Folder\"
    > strSourceFolder = "C:\My Data\"
    >
    > strFile = Dir$(strSourceFolder & "*.XLS")
    > Do While Len(strFile) > 0
    > FileCopy strSourceFolder & strFile, strDestinationFolder & strFile
    > strFile = Dir$()
    > Loop
    >
    >
    > --
    > Doug Steele, Microsoft Access MVP

    Tentei adaptar mas me é gerado erro.
    Base disponibilizada por JPaulo aqui no fórum.

    Código:
       
    Dim Fd As Object, z As String
            Set Fd = Application.FileDialog(1)
    With Fd
    .ButtonName = "Abrir"
    .Title = "Selecione as imagens referente ao cliente..."
    If .Show Then
        SelecionarPasta = .SelectedItems(1)
    LocalArq = SelecionarPasta
        DestinoArq = DestinoArq & "\"

            MsgBox "Este é o local destino do arquivo: " & DestinoArq 'Esta mensagem me é gerada com exito

        z = Dir$(LocalArq)
            Do While Len(z) > 0
                    MsgBox "Este é o local do arquivo: " & LocalArq & z 'Esta mensagem me aponta apenas o 1° arquivo selecionado e então me e gerado erro na próxima linha
            FileCopy LocalArq & z, DestinoArq & z 'Erro ;53:O arquivo não foi localizado
            z = Dir$()
            Loop
                                    
    End With
    Set Fd = Nothing
    avatar
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11235
    Registrado : 30/12/2009

    Re: [Resolvido]FileCopy: Error 53' O arquivo não foi localizado

    Mensagem  criquio em Seg 08 Dez 2014, 13:01

    O FileOpen abre os arquivos selecionados em uma Array. O Do While já faz um Loop por esse arquivos retornados. Se inserir a rotina de copiar dentro do Loop, deve copiar todos.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique [Você precisa estar registrado e conectado para ver este link.] e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    biligo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 216
    Registrado : 10/04/2014

    Re: [Resolvido]FileCopy: Error 53' O arquivo não foi localizado

    Mensagem  biligo em Ter 09 Dez 2014, 20:43

    Boas,

    Criquio, tentei executar o que me instruiu, mas não obtive exito. A situação mais animadora que obtive foi a importação de varios arquivos, constrando que a maioria eu não havia selecionado
    e eles era exatamente o mesmo arquivo com nomes diferentes (o primeiro arquivo que selecionei ficou como padrão e os demais foram copiados com nomes diferentes de arquivos que estavam na mesma
    pasta). No momento atual consigo importar um arquivo mas os demais não.

    Código:

    Dim Fd As Object, x As Variant, z As String

    Set Fd = Application.FileDialog(1)
    With Fd

    .ButtonName = "Abrir"
    .Title = "Selecione o local onde se encontra o arquivo..."
    If .Show Then

    SelecionarPasta = .SelectedItems(1)
    x = SelecionarPasta

                LocalArq = Left(x, InStrRev(x, "\") + 0)    'Exemplo de retorno: "C:\Users\User\Pasta do Arquivo\"
               
        DestinoArq = DestinoArq & "\"                          'Exemplo de retorno: "C:\Users\User\Pasta de destino\"
           
    z = Dir$(x)
        Do While Len(z) > 0
            FileCopy LocalArq & z, DestinoArq & z
                z = Dir$()
                    Loop
    End If
        End With

    Creio que o "Loop" não esteja funcionando corretamente pois o x me é retornado com um unico valor, mas não consigo fazer com que o x
    me retorne vários valores.
    avatar
    biligo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 216
    Registrado : 10/04/2014

    Re: [Resolvido]FileCopy: Error 53' O arquivo não foi localizado

    Mensagem  biligo em Qua 10 Dez 2014, 09:42

    Boas,

    Após algumas horas de pesquisa descobri que o método que estava utilizando não é apropriado para efetuar este tipo de procedimento.
    Utilizando um For Each e mandando os itens selecionados diretamente para o Next me foi resolvida a questão.
    Não estava conseguindo justamente por isto, nomeando os arquivos como string apenas o 1° era guardado.
    avatar
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11235
    Registrado : 30/12/2009

    Re: [Resolvido]FileCopy: Error 53' O arquivo não foi localizado

    Mensagem  criquio em Qua 10 Dez 2014, 12:09

    Agradecemos o retorno.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique [Você precisa estar registrado e conectado para ver este link.] e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


      Data/hora atual: Sex 15 Dez 2017, 21:43