Cum se utilizează Excel Filedialog pentru a obține lista de fișiere dintr-un director

Autor: Robert Simon
Data Creației: 23 Iunie 2021
Data Actualizării: 2 Mai 2024
Anonim
Excel VBA - How to Get a List of Files using File Dialog Box
Video: Excel VBA - How to Get a List of Files using File Dialog Box

Conţinut

Microsoft Excel nu se referă doar la date tabulare, calcule și managementul informațiilor. Orice utilizator avid poate transforma Excel într-un instrument puternic pentru gestionarea dosarelor, organizarea fișierelor și urmărirea sarcinilor. Puteți crea o macrocomandă care utilizează un obiect VBA FileDialog pentru a scana rapid un director și a lista conținutul acestuia într-o foaie de lucru. După executare, această macrocomandă îi va determina pe utilizatori să aleagă un dosar și va afișa mai târziu numele conținutului într-o singură coloană.


instrucțiuni de ghidare

Creați, editați, eliminați, monitorizați și mutați directoarele de pe computer cu Excel VBA (Hemera Technologies / Photos.com / Getty Images)

    Crearea macrocomenzii

  1. Porniți Microsoft Excel. Apăsați "CTRL + O", selectați registrul de lucru, apoi faceți clic pe "Deschidere". Pentru a crea un nou registru de lucru, apăsați "CTRL + N".

  2. Apăsați "ALT + F8" pentru a deschide caseta de dialog pentru macro. Introduceți "GetFolderContents" în caseta cu numele de macrocomandă, apoi faceți clic pe "Creați".

  3. Tastați următorul cod în editorul VBA:

    Sub GetFolderContents () Dim xDir, xFilename, f, fso Ca set de obiecte fso = CreateObject ("Scripting.FileSystemObject") Cu Application.FileDialog (msoFileDialogFolderPicker) .InitialFileName = ThisWorkbook.Path & "" .Title = lista fișierelor de la ".AllowMultiSelect = False .Show if .SelectedItems.Count <> 0 Apoi xDir = .SelectedItems (1) &" "Sfârșit dacă se încheie cu If (MsgBox (Prompt: =" Doriți să includeți numele subfolderilor ? ", _ Butoane: = vbYesNo, Titlu: =" Include subfoldere ") = vbYes) Apoi GoTo ListFolders GoTo ListFiles Else GoTo ListFiles Sfârșit Dacă ListFolders: Pentru fiecare f În. .FileName ActiveCell.Offset (1, 0) .Selectați Următorul f ListFiles: Pentru fiecare f În fso.GetFolder (xDir) .Files ActiveCell.Value = f.Name ActiveCell.Offset (1, 0) .Select Următorul f Set fso = Nimic Sfârșit Sub


  4. Apăsați "ALT + Q" pentru a închide editorul VBA și a reveni la registrul de lucru.

    Utilizând macroul

  1. Selectați o celulă de coli. Apăsați tasta "ALT + I" și "C" pentru a crea o coloană necompletată. Selectați prima celulă din coloana nouă. Dacă doriți să afișați lista într-o foaie de lucru nouă, apăsați "SHIFT + F11".

  2. Apăsați "ALT + F8" pentru a deschide caseta de dialog pentru macro. Selectați "GetFolderContents" și apoi faceți clic pe "Executare".

  3. Selectați folderul sau directorul din care doriți să listați conținutul. Faceți clic pe "OK".

  4. Dați clic pe "Da" dacă doriți ca macrocomanda să afișeze și numele subdosarelor sau faceți clic pe "Nu" pentru a afișa numai fișierele. Așteptați ca Excel să termine umplerea coloanei noi cu conținutul folderului selectat.


avertisment

  • În mod implicit, macrocomenzile sunt dezactivate în Microsoft Excel. Pentru a le activa, faceți clic pe butonul Microsoft Office și apoi mergeți la "Opțiuni Excel". Asigurați-vă că este bifată opțiunea "Afișare fila dezvoltator". Mergeți la "Centrul de încredere" și apoi faceți clic pe "Setările Centrului de încredere". Mergeți la "Setări macro" și apoi alegeți "Activați toate macrocomenzile". Faceți clic pe "OK" în ambele ferestre, salvați toate dosarele de lucrări deschise și reporniți Excel.

Întreținerea preventivă din caă nu primește atenția pe care ar trebui ă o facă, iar atunci când ceva e parge au nu funcționează așa cum ar trebui, devine o arcină mai mare ă o rezolvi. Nuci ...

Când vă uitați la rafturile din magazinul de băuturi alcoolice, încercând ă decideți ce mărime a ticlei ă cumpărați, ete bine ă știți de câtă băutură veți avea nevoie pentru evenim...

Recomandarea Noastră