/ / Failai kataloge Excel VBA

Failai kataloge Excel VBA

Žemiau apžvelgsime programą Excel VBA tai kilpos per visus uždarus darbaknygius ir darbalapius a katalogas, ir rodo visus pavadinimus.

Atsisiųskite Book1.xls, Book2.xls, Book3.xls, Book4.xls ir Book5.xls ir pridėkite juos prie "C: test"

Padėtis:

Rodyklės pavyzdžiai

Į komandų mygtuką pridėkite šias kodo eilutes:

1. Pirma, deklaruojame du kintamuosius tipo "String", "Worksheet" objektą ir du kintamuosius tipo "Integer".

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

2. Norėdami išvengti ekrano mirgėjimo, išjunkite ekrano atnaujinimą.

Application.ScreenUpdating = False

3. Inicijuoti kintamojo katalogą. Mes naudojame Dir funkciją, norėdami rasti pirmąjį * .xl ?? failas, saugomas šiame kataloge.

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

Pastaba: funkcija "Dir" palaiko daugialypių simbolių (*) ir vienos simbolinės (?) Pakaitos simbolių naudojimą ieškant visų skirtingų tipų "Excel" failų.

4. Kintamasis fileName dabar saugo pirmojo "Excel" failo pavadinimą, esantį kataloge. Pridėkite "Do Loop".

Do While fileName <> ""

Loop

Įtraukite šias kodo eilutes (5, 6, 7, 8 ir 9) į kilpą.

5. Inicijuokite kintamuosius tipo "Integer" ir pridėkite "Excel" failo pavadinimą į pirmąjį eilutę i eilutėje.

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

6. Nėra paprasto būdu išgauti duomenis (ar lapų pavadinimus) iš uždarytų "Excel" failų. Todėl atidarome "Excel" failą.

Workbooks.Open (directory & fileName)

7. Pridėkite visus "Excel" failo pavadinimus į kitus stulpelius i eilutėje.

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. Uždarykite "Excel" failą.

Workbooks(fileName).Close

9. Dir funkcija yra speciali funkcija. Norėdami gauti kitus "Excel" failus, vėl galite naudoti funkciją "Dir" be jokių argumentų.

fileName = Dir()

Pastaba: kai failų pavadinimai neatitinka, funkcija Dir grąžina nulio ilgio eilutę (""). Dėl to "Excel VBA" išeis iš "Do While" kilpos.

10. Įjunkite ekrano atnaujinimą (už loopo ribų).

Application.ScreenUpdating = True

11. Patikrinkite programą.

Rezultatas:

Failai kataloge Excel VBA

Taip pat perskaitykite: