Š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ā.