/ / Pliki w katalogu w Excelu VBA

Pliki w katalogu w Excelu VBA

Poniżej przyjrzymy się programowi w Excel VBA że pętle przez wszystkie zamknięte skoroszytów i arkusze w informatori wyświetla wszystkie nazwiska.

Pobierz Book1.xls, Book2.xls, Book3.xls, Book4.xls i Book5.xls i dodaj je do "C: test"

Sytuacja:

Pliki w przykładzie katalogu

Dodaj następujące linie kodu do przycisku polecenia:

1. Najpierw zadeklarujemy dwie zmienne typu String, obiektu Worksheet i dwie zmienne typu Integer.

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

2. Aby uniknąć migotania ekranu, wyłącz aktualizację ekranu.

Application.ScreenUpdating = False

3. Zainicjuj katalog zmiennych. Używamy funkcji Dir, aby znaleźć pierwszy * .xl ?? plik przechowywany w tym katalogu.

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

Uwaga: funkcja Dir obsługuje użycie wielu znaków wieloznacznych (*) i pojedynczych znaków (?) W celu wyszukania wszystkich typów plików Excela.

4. Zmienna fileName zawiera teraz nazwę pierwszego pliku Excela znajdującego się w katalogu. Dodaj pętlę Do While Loop.

Do While fileName <> ""

Loop

Dodaj następujące linie kodu (w 5, 6, 7, 8 i 9) do pętli.

5. Zainicjuj zmienne typu Integer i dodaj nazwę pliku Excel do pierwszej kolumny wiersza i.

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

6. Nie ma prostego sposobu wyodrębniania danych (lub nazw arkuszy) z zamkniętych plików Excel. Dlatego otwieramy plik Excel.

Workbooks.Open (directory & fileName)

7. Dodaj wszystkie nazwy arkuszy pliku Excel do innych kolumn w wierszu 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. Zamknij plik Excel.

Workbooks(fileName).Close

9. Funkcja Dir jest funkcją specjalną. Aby uzyskać inne pliki Excela, możesz ponownie użyć funkcji Dir bez żadnych argumentów.

fileName = Dir()

Uwaga: gdy nie ma więcej nazw plików, funkcja Dir zwraca ciąg znaków o zerowej długości (""). W rezultacie Excel VBA opuści pętlę Do While.

10. Włącz aktualizację ekranu (poza pętlą).

Application.ScreenUpdating = True

11. Sprawdź program.

Wynik:

Pliki w katalogu w Excelu VBA

Przeczytaj również: