/ / / Αρχεία σε έναν κατάλογο στο Excel VBA

Αρχεία σε έναν κατάλογο στο Excel VBA

Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA ότι βρόχους μέσω όλων των κλειστών βιβλίων εργασίας και φύλλων εργασίας σε ένα Ευρετήριο, και εμφανίζει όλα τα ονόματα.

Κατεβάστε Book1.xls, Book2.xls, Book3.xls, Book4.xls και Book5.xls και προσθέστε τα στο "C: test"

Κατάσταση:

Αρχεία σε ένα παράδειγμα καταλόγου

Προσθέστε τις ακόλουθες γραμμές κώδικα στο κουμπί εντολής:

1. Αρχικά, δηλώνουμε δύο μεταβλητές τύπου String, ένα αντικείμενο φύλλου εργασίας και δύο μεταβλητές τύπου Integer.

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

2. Για να αποφύγετε την τρεμοπαφή της οθόνης, απενεργοποιήστε την ενημέρωση της οθόνης.

Application.ScreenUpdating = False

3. Αρχικοποιήστε τον κατάλογο μεταβλητών. Χρησιμοποιούμε τη λειτουργία Dir για να βρούμε την πρώτη * .xl; αρχείου που είναι αποθηκευμένο σε αυτόν τον κατάλογο.

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

Σημείωση: Η λειτουργία Dir υποστηρίζει τη χρήση χαρακτήρων πολλαπλών χαρακτήρων (*) και απλών χαρακτήρων (?) Για αναζήτηση όλων των διαφορετικών τύπων αρχείων του Excel.

4. Η μεταβλητή fileName περιέχει τώρα το όνομα του πρώτου αρχείου Excel που βρίσκεται στον κατάλογο. Προσθέστε ένα Do While Loop.

Do While fileName <> ""

Loop

Προσθέστε τις ακόλουθες γραμμές κώδικα (στις 5, 6, 7, 8 και 9) στον βρόχο.

5. Αρχικοποιήστε τις μεταβλητές τύπου Integer και προσθέστε το όνομα του αρχείου Excel στην πρώτη στήλη της γραμμής i.

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

6. Δεν υπάρχει εύκολος τρόπος για να εξαγάγετε δεδομένα (ή ονόματα φύλλων) από κλειστά αρχεία του Excel. Επομένως, ανοίγουμε το αρχείο Excel.

Workbooks.Open (directory & fileName)

7. Προσθέστε όλα τα ονόματα φύλλων του αρχείου Excel στις άλλες στήλες της γραμμής 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. Κλείστε το αρχείο Excel.

Workbooks(fileName).Close

9. Η λειτουργία Dir είναι μια ειδική λειτουργία. Για να έχετε τα άλλα αρχεία του Excel, μπορείτε να χρησιμοποιήσετε ξανά τη λειτουργία Dir χωρίς κανένα επιχείρημα.

fileName = Dir()

Σημείωση: όταν δεν συμφωνούν περισσότερα ονόματα αρχείων, η συνάρτηση Dir επιστρέφει μια συμβολοσειρά μηδενικού μήκους (""). Ως αποτέλεσμα, το Excel VBA θα αφήσει το βρόχο Do While.

10. Ενεργοποιήστε ξανά την ενημέρωση οθόνης (εκτός του βρόχου).

Application.ScreenUpdating = True

11. Ελέγξτε το πρόγραμμα.

Αποτέλεσμα:

Αρχεία σε έναν κατάλογο στο Excel VBA

Επίσης διαβάστε: