Preluare numeLOR DE fisiere dintr-un folder

Sursa: http://www.extendoffice.com/documents/excel/627-excel-list-files.html#a2

Mai jos, codul VBA pentru preluarea într-o foaie de lucru a numelor fişierelor dintr-un folder/director:

Option Explicit

Sub GetFileNames()

Dim xRow As Long

Dim xDirect$, xFname$, InitialFoldr$

InitialFoldr$ = "C:\"

With Application.FileDialog(msoFileDialogFolderPicker)

.InitialFileName = Application.DefaultFilePath & "\"

.Title = "Alegeti un folder din care vor fi preluate numele fişierelor"

.InitialFileName = InitialFoldr$

.Show

If .SelectedItems.Count <> 0 Then

xDirect$ = .SelectedItems(1) & "\"

xFname$ = Dir(xDirect$, 7)

Do While xFname$ <> ""

ActiveCell.Offset(xRow) = xFname$

xRow = xRow + 1

xFname$ = Dir

Loop

End If

End With

End Sub

1. Se deschide un fişier Excel, apoi se accesează aplicaţia VBA cu clic pe Developer > Visual Basic (sau cu combinaţia de taste Alt+F11), click Insert > Module (dar merge şi direct în fereastra Code - View > Code sau tasta F7), iar în fereastra afişată se introduce codul de mai sus.

2. Apoi click pe butonul Run pentru a rula codul.

doc-list-files-4

Este afişată o fereastră cu titlul Alegeti un folder din care vor fi preluate numele.

Se alege folderul din care vor fi preluate numele fişierelor.

VBA va prelua numele fișierelor din folder, în ordine alfabetică.