/ / Datoteke u direktoriju u programu Excel VBA

Datoteke u direktoriju u programu Excel VBA

U nastavku ćemo pogledati program u Excel VBA da petlje kroz sve zatvorene radne knjige i radne listove u imenik, i prikazuje sva imena.

Preuzmite Book1.xls, Book2.xls, Book3.xls, Book4.xls i Book5.xls i dodajte ih u "C: test"

Situacija:

Datoteke u imeniku Primjer

Dodajte sljedeće linije koda gumbu naredbe:

1. Prvo, izjavljujemo dvije varijable tipa String, radni list objekt i dvije varijable tipa Integer.

Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer

2. Kako biste izbjegli treperenje zaslona, ​​isključite ažuriranje zaslona.

Application.ScreenUpdating = False

3. Inicijalizirajte varijabilni direktorij. Koristimo funkciju Dir kako bi pronašli prvi * .xl? datoteka pohranjena u ovom direktoriju.

directory = "c:test"
fileName = Dir(directory & "*.xl??")

Napomena: funkcija Dir podržava upotrebu zamjenskih znakova s ​​više znakova (*) i jednog znaka (?) Da biste pretraživali sve različite vrste Excel datoteka.

4. Varijabla fileName sada sadrži naziv prve Excel datoteke pronađene u direktoriju. Dodaj radnu petlju.

Do While fileName <> ""

Loop

Dodajte sljedeće linije koda (na 5, 6, 7, 8 i 9) u petlju.

5. Inicijalizirajte varijable tipa Integer i dodajte naziv datoteke programa Excel u prvi stupac retka i.

i = i + 1
j = 2
Cells(i, 1) = fileName

6. Ne postoji jednostavan način za izdvajanje podataka (ili naziva lista) iz zatvorenih Excel datoteka. Stoga otvorimo Excel datoteku.

Workbooks.Open (directory & fileName)

7. Dodajte sve nazive lista Excel datoteke u druge stupce retka i.

For Each sheet In Workbooks(fileName).Worksheets
    Workbooks("files-in-a-directory.xls").Worksheets(1).Cells(i, j).Value = sheet.Name
    j = j + 1
Next sheet

8. Zatvorite Excel datoteku.

Workbooks(fileName).Close

9. Dir funkcija je posebna funkcija. Da biste dobili ostale Excel datoteke, ponovno možete upotrijebiti funkciju Dir bez argumenata.

fileName = Dir()

Napomena: kada više imena datoteka ne odgovaraju, Dir funkcija vraća niz nulte duljine (""). Kao rezultat toga, Excel VBA će napustiti Do While petlju.

10. Ponovno uključite ažuriranje zaslona (izvan petlje).

Application.ScreenUpdating = True

11. Ispitajte program.

Proizlaziti:

Datoteke u direktoriju u programu Excel VBA

Također pročitajte: