VBA saraksta faili mapē

Šajā apmācībā jūs uzzināsit, kā iegūt visu mapē esošo failu nosaukumus un ievietot tos darblapā.

Tā vietā, ja vēlaties uzzināt, kā pārbaudīt faila esamību, varat noklikšķināt uz šīs saites: VBA fails pastāv

FileSystemObject izmantošana, lai iegūtu mapē esošo failu sarakstu

VBA ļauj uzskaitīt visus failus no mapes, izmantojot FileSystemObject.

Mēs parādīsim, kā iegūt mapē esošo failu sarakstu C: \ VBA mape un ievietojiet to darblapas pirmajā kolonnā. Šī mape sastāv no 5 failiem, kā parādīts 1. attēlā:

Attēls 1. Faili mapē C: \ VBA Folder

Šeit ir kods:

1234567891011121314151617181920 Sub LoopThroughFiles ()Dim oFSO kā objektsIzmainiet mapi kā objektuDim oFile kā objektsDim i As IntegerIestatīt oFSO = CreateObject ("Scripting.FileSystemObject")Iestatīt oFolder = oFSO.GetFolder ("C: \ VBA mape")Par katru oFile In oFolder.FilesŠūnas (i + 1, 1) = oFile.Namei = i + 1Nākamais failsBeigu apakš

Piemērā vispirms izveidojiet klases objektu Scripting.FileSystemObject:

1 Iestatīt oFSO = CreateObject ("Scripting.FileSystemObject")

Pēc tam iestatiet mapi, izmantojot metodi GetFolder:

1 Iestatīt oFolder = oFSO.GetFolder ("C: \ VBA mape")

Nākamā cilpa caur katru failu o mape, izmantojot oFaila nosaukums iegūstiet katra mapē esošā faila nosaukumu un ierakstiet to nākamajā tukšajā rindā:

123456 Par katru oFile In oFolder.FilesŠūnas (i + 1, 1) = oFile.Namei = i + 1Nākamais fails

2. attēls. Darblapa ar mapē esošo failu sarakstu

Kā redzams 2. attēlā, visi 5 faili no mapes C: \ VBA ir uzskaitīti pirmajā slejā.

wave wave wave wave wave