Ir ao conteúdo
  • Cadastre-se

Visual Basic ## Código Listar Diretório de uma pasta compartilhada em uma rede LAN ##


Posts recomendados

Boa tarde Pessoal!tentei usar este codigo em vba para listar diretorio pasta e arquivos, funciona no meu PC se eu informar o caminho, porém não estou conseguindo fazer isso de uma pasta compartilhada em uma rede interna.

Segue abaixo o código, se alguém puder ajudar, será importante para meu aprendizado e também para aplicar lá no meu trabalho.


 

Private Sub UserForm_Initialize()
Dim arquivo, pasta As String

ListBox1.Clear

pasta = ThisWorkbook.Path
arquivo = Dir(pasta, vbDirectory)

While arquivo <> ""

If arquivo <> "*.*" Or arquivo <> "" Or arquivo <> "." Or arquivo <> ".." Then
    ListBox1.AddItem arquivo
    arquivo = Dir()
Else
    arquivo = Dir()
End If

Wend

End Sub

 

Valeu!!

Link para o comentário
Compartilhar em outros sites

Boas, tudo bom, penso que você tenha que informar o caminho completo desse ficheiro, pois em computadores diferentes o caminho que usa agora pode variar.

Exemplo no seu PC a pasta de logistica de rede tem o seguinte caminho: "J:logistica..." já em outro PC poderá ter: "L:logistica..." a diferença entre o J e o L já faz com que o VBA não consiga localizar a pasta.

 

O que eu sugiro é o seguinte.

 

Vá no ficheiro escolhido, clique com o botão direito do mouse em cima, selecione propriedades, de seguida vá na aba segurança e onde está nome do objeto, esse será o caminho que todos os PC's irão reconhecer.

 

Depois altere o seu código para este e preencha o que falta (falta indicar o caminho completo esse ai em cima que mostrei como se pega).

Código:

Private Sub UserForm_Initialize()
Dim arquivo As String, pasta As String, diretorio As String

ListBox1.Clear

diretorio = "Caminho COMPLETO do ficheiro"
pasta = ThisWorkbook.Path
arquivo = diretorio & pasta

While arquivo <> ""

If arquivo <> "*.*" Or arquivo <> "" Or arquivo <> "." Or arquivo <> ".." Then
    ListBox1.AddItem arquivo
    arquivo = Dir()
Else
    arquivo = Dir()
End If

Wend

End Sub

 

Alguma dúvida, é só perguntar. :)

Link para o comentário
Compartilhar em outros sites

Boa tarde Afonso.

 

rapaz, tentei lá do jeito que falou mas deu um erro 52.

 

Nesta parte do código, na variavel arquivo você coloca para unir variavel diretorio com a variavel pasta, as duas não seriam a mesma coisa ?

diretorio = "Caminho COMPLETO do ficheiro"

pasta = ThisWorkbook.Path

arquivo = diretorio & pasta

 

Valeu!

Link para o comentário
Compartilhar em outros sites

30 minutos atrás, RWSHARDWARE disse:

Boa tarde Afonso.

 

rapaz, tentei lá do jeito que falou mas deu um erro 52.

 

Nesta parte do código, na variavel arquivo você coloca para unir variavel diretorio com a variavel pasta, as duas não seriam a mesma coisa ?

diretorio = "Caminho COMPLETO do ficheiro"

pasta = ThisWorkbook.Path

arquivo = diretorio & pasta

 

Valeu!

 

Sim têm toda a razão. Erro meu aqui.
Ora experimente da seguinte maneira:

 

Private Sub UserForm_Initialize() 

Dim arquivo As String, pasta As String, diretorio As String 

ListBox1.Clear 
diretorio = "Caminho COMPLETO do ficheiro" 
  While diretorio <> "" 
    If diretorio <> "*.*" Or diretorio <> "" Or diretorio <> "." Or diretorio <> ".." Then     
      ListBox1.AddItem diretorio     
      diretorio = Dir() 
    Else     
      diretorio = Dir() 
	End If 
  Wend 
End Sub

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...