Foto de Joao S.
Joao há 11 meses
Enviada pelo
Site

Erro nao compreendido

Preciso abrir o arquivo txt mais recente de um diretorio...  nao consegui entender porque o codigo abaixo da sempre erro.


Sub arquivo()
foldername = "G:\Meu Drive\Fechamento" & Application.PathSeparator
fname = Dir(foldername & "*txt")
foldername = foldername & fname
'fname = Dir(FolderName & "*xlsm")
wookbooks.Open foldername
End Sub

1 resposta
Professor Rafael R.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 11 meses
Contatar Rafael
Erro ao abrir o arquivo TXT mais recente

O código apresentado pode apresentar erros por alguns motivos:

1. Erro de sintaxe:

  • A linha wookbooks.Open foldername está usando a palavra-chave "wookbooks" incorretamente. A palavra-chave correta é "Workbooks".

2. Arquivo não encontrado:

  • A função Dir procura apenas o primeiro arquivo que corresponde ao padrão especificado. Se não houver nenhum arquivo TXT no diretório, fname será uma string vazia e o código falhará ao abrir o arquivo.

3. Permissões de arquivo:

  • Certifique-se de que você tem permissão para abrir arquivos no diretório especificado.

Solução:

1. Corrigir a sintaxe:

Altere a linha wookbooks.Open foldername para:

VBA
Workbooks.Open foldername

2. Verificar se o arquivo existe:

Use um loop para iterar por todos os arquivos TXT no diretório e abrir o mais recente:

VBA
Sub AbrirArquivoTxtMaisRecente()
    Dim foldername As String
    Dim fname As String
    Dim f As File
    
    foldername = "G:\Meu Drive\Fechamento" & Application.PathSeparator
    
    Set f = Dir(foldername & "*.txt")
    
    Do While f <> ""
        If f > fname Then
            fname = f
        End If
        Set f = Dir
    Loop
    
    If fname <> "" Then
        Workbooks.Open foldername & fname
    Else
        MsgBox "Nenhum arquivo TXT encontrado no diretório."
    End If
End Sub

3. Verificar as permissões de arquivo:

  • Se o erro persistir, verifique se você tem permissão para abrir arquivos no diretório especificado.

Observações:

  • O código acima usa a função Dir para iterar por todos os arquivos TXT no diretório.
  • A variável fname armazena o nome do arquivo TXT mais recente.
  • O método Workbooks.Open abre o arquivo TXT mais recente.

 

Espero que isso ajude!

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Envie uma dúvida grátis
Resposta na hora da Minerva IA e de professores particulares
Enviar dúvida
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Precisa de outra solução? Conheça
Aulas particulares Encontre um professor para combinar e agendar aulas particulares Buscar professor