Talvez
o seu caso seja outro. De repente, você precisa saber quais arquivos estão nos
diretórios, para depois decidir se vai abrir ou não os arquivos, ou
simplesmente determinar quais dever ser abertos.
Podemos
então, gerar uma árvore com os arquivos que estão nos diretórios determinados
por você.
Antes
de mostrar a você o código, devemos fazer algo muito importante. Temos que
habilitar uma biblioteca do VBA.
Primeiro,
vá ao menu “Ferramentas” do editor do VBA e entre em “Referências”.
Agora,
habilite a biblioteca “Microsoft Scripting Runtime” e click em OK.
Pronto,
agora já podemos começar a desenvolver o nosso código.
Dim L As Long
'Declaramos a variável que receberá a linha
|
Sub GerArvore()
|
Const strCaminho As
String = "C:\ExcelECia\"
'Idendificamos o caminho onde os arquivos serão procurados
|
'Declaração
de variáveis para leitura dos arquivos/pastas
|
Dim fso As Scripting.FileSystemObject
|
Dim fld As Scripting.Folder
|
'Aqui vamos
determinar o caminho em que os arquivos serão buscados
|
Set fso = CreateObject("Scripting.FileSystemObject")
|
Set fld =
fso.GetFolder(strCaminho)
'Permite entrar no diretorio e localizar os arquivos
|
Sheets("Árvore").Select 'selecionamos
a planilha onde vamos gerar a árvore
|
With ActiveSheet
|
.Cells.Delete 'Limpa
planilha
|
'criamos um
matriz simples para montar o cabeçalho da planilha
|
.Range("A1:E1") = Array("Diretório", "Caminho
completo", "Nome", "Data de modificação", "Data
de criação")
|
L = 2
|
LocalizaArquivos
fld 'Chama
rotina para localizar os arquivos
|
.Columns.AutoFit
|
End With
|
MsgBox "Consulta
realizada com sucesso!", vbInformation, "Macro consulta
arquivos"
|
End Sub
|
Esta
é a primeira parte do nosso código. Na verdade é apenas o pano de fundo para
outra rotina que vamos desenvolver e que localizará os endereços dos arquivos.
Não se esqueça de nomear uma planilha como “Árvore”.
Fique
despreocupado, pois no final deste capítulo, vou disponibilizar pra você o
arquivo de exemplo.
Antes de
desenvolvermos a segunda parte do código, criei uma outra pasta dentro do
caminho padrão que declaramos, veja.
Fiz
isto para testarmos no nosso código, já que ele deve percorrer também as
subpastas do diretório e trazer o endereço dos arquivos que desejamos buscar.
Agora
vamos à segunda parte do código.
Function LocalizaArquivos(fld As Folder)
|
Dim subfld As
Scripting.Folder
'Cria script para vasculharmos as subpastas
|
Dim fl As Scripting.File
|
For Each fl In fld.Files 'Para cada arquivos
dentro da pasta que vasculhamos
|
If
UCase(Left(fl.Name, 6)) = "FILIAL" Then 'Se o nome do arquivo começar com
Filial
|
Cells(L,
"A") = fl.ParentFolder
'retorna o endereço da pasta onde está o arquivo
|
Cells(L, "B") =
fl.Path 'retorna o
endereço completo do arquivo
|
Cells(L,
"C") = fl.Name
'retorna o nome do arquivo
|
Cells(L,
"D") = fl.DateLastModified
'retorna a data da última modificação
|
Cells(L,
"E") = fl.DateCreated
'retorna a data de criação do arquivo
|
ActiveSheet.Hyperlinks.Add Anchor:=Cells(L, "A"),
Address:=Cells(L, "A") 'cria hinperlink para pasta do
arquivo
|
ActiveSheet.Hyperlinks.Add Anchor:=Cells(L, "B"),
Address:=Cells(L, "B") 'cria hinperlink para endereço
completo do arquivo
|
L = L +
1 'incrementa
a linha
|
Cells(L,
"A").Select
'seleciona a proxima linha que receberá o novo endereço
|
End If
|
Next fl
|
For Each subfld In
fld.SubFolders 'percorre as subpastas para procurar
os arquivos desejados
|
LocalizaArquivos
subfld
|
Next subfld
|
End Function
|
Agora é só
salvar em um módulo e rodar. O resultado será este.
Perceba,
que o código trouxe até o arquivo que estava na subpasta. Legal demais.
No
próximo capítulo, vamos aprender a abrir arquivos, usando a Árvore que acabamos
de gerar. See you later!!!
Para acessar o curso completo Clique aqui
Para acessar o curso completo Clique aqui
Nenhum comentário:
Postar um comentário