/ / Fájlok az Excel VBA könyvtárában

Az Excel VBA könyvtárban található fájlok

Az alábbiakban egy programot nézünk be Excel VBA hogy minden zárt munkafüzeten és munkalapon keresztül a Könyvtár, és megjeleníti az összes nevet.

Töltsd le a Book1.xls, a Book2.xls, a Book3.xls, a Book4.xls és a Book5.xls könyveket, és vegye fel őket "C: tesztre"

Helyzet:

Fájlok a Directory példában

Adja hozzá a következő kódsorokat a parancsgombhoz:

1. Először két típusú String-et, egy Munkalap objektumot és két Integer típusú változót deklarálunk.

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

2. A képernyő villogása elkerülése érdekében kapcsolja ki a képernyő frissítését.

Application.ScreenUpdating = False

3. Indítsa el a változó könyvtárat. A Dir funkcióval megtaláljuk az első * .xl-et? az ebben a könyvtárban tárolt fájl.

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

Megjegyzés: a Dir függvény támogatja a több karakter (*) és az egy karakteres (?) Karakterkészletek használatát az összes Excel-fájl különböző típusainak kereséséhez.

4. A fileName változó megtartja a könyvtárban található első Excel fájl nevét. Add Do While Loop-t.

Do While fileName <> ""

Loop

Adja hozzá a következő kódsorokat (5, 6, 7, 8 és 9) a hurokhoz.

5. Indítsa el az Integer típusú típus változóit, és adja hozzá az Excel fájl nevét az i. Sor első oszlopához.

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

6. Nincs egyszerű módszer az adatok (vagy lapnevek) kitöltésére zárt Excel fájlokból. Ezért megnyitjuk az Excel fájlt.

Workbooks.Open (directory & fileName)

7. Adja hozzá az Excel fájl összes lapnevét az i. Sor többi oszlopához.

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. Zárja be az Excel fájlt.

Workbooks(fileName).Close

9. A Dir funkció egy speciális funkció. Ahhoz, hogy a többi Excel-fájlt megkaphassa, a Dir-funkciót újra felhasználhatja argumentumok nélkül.

fileName = Dir()

Megjegyzés: ha nincs több fájlnév, a Dir függvény nulla hosszúságú karakterláncot ad (""). Ennek eredményeképpen az Excel VBA kilép a Do While hurokból.

10. Kapcsolja be újra a képernyő frissítését (a hurokon kívül).

Application.ScreenUpdating = True

11. Vizsgálja meg a programot.

Eredmény:

Az Excel VBA könyvtárban található fájlok

Szintén olvasható: