/ / एक्सेल वीबीए में एक निर्देशिका में फ़ाइलें

एक्सेल वीबीए में निर्देशिका में फ़ाइलें

नीचे हम एक कार्यक्रम देखेंगे एक्सेल VBA उस सभी बंद कार्यपुस्तिकाओं और कार्यपत्रकों के माध्यम से loops में निर्देशिका, और सभी नाम प्रदर्शित करता है।

Book1.xls, Book2.xls, Book3.xls, Book4.xls और Book5.xls डाउनलोड करें और उन्हें "सी: परीक्षण" में जोड़ें

परिस्थिति:

एक निर्देशिका उदाहरण में फ़ाइलें

कमांड बटन पर निम्न कोड लाइन जोड़ें:

1. सबसे पहले, हम स्ट्रिंग, वर्कशीट ऑब्जेक्ट और टाइप इंटेगर के दो चर के दो चर घोषित करते हैं।

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

2. स्क्रीन फ्लिकर से बचने के लिए, स्क्रीन अपडेटिंग बंद करें।

Application.ScreenUpdating = False

3. चर निर्देशिका को शुरू करें। हम पहली * .xl खोजने के लिए Dir function का उपयोग करते हैं ?? फ़ाइल इस निर्देशिका में संग्रहीत।

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

नोट: डिर फ़ंक्शन कई अलग-अलग प्रकार की एक्सेल फ़ाइलों को खोजने के लिए एकाधिक वर्ण (*) और एकल वर्ण (?) वाइल्डकार्ड के उपयोग का समर्थन करता है।

4. परिवर्तनीय फ़ाइल नाम अब निर्देशिका में मिली पहली एक्सेल फ़ाइल का नाम रखता है। एक लूप जबकि लूप जोड़ें।

Do While fileName <> ""

Loop

लूप पर निम्न कोड लाइनें (5, 6, 7, 8 और 9 पर) जोड़ें।

5. प्रकार पूर्णांक के चर शुरू करें और पंक्ति फ़ाइल के पहले कॉलम में Excel फ़ाइल का नाम जोड़ें I।

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

6. बंद एक्सेल फ़ाइलों से डेटा (या शीट नाम) निकालने का कोई आसान तरीका नहीं है। इसलिए, हम एक्सेल फ़ाइल खोलते हैं।

Workbooks.Open (directory & fileName)

7. पंक्ति फ़ाइल के अन्य कॉलम में एक्सेल फ़ाइल के सभी शीट नाम जोड़ें 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. एक्सेल फ़ाइल बंद करें।

Workbooks(fileName).Close

9. Dir समारोह एक विशेष समारोह है। अन्य एक्सेल फ़ाइलों को प्राप्त करने के लिए, आप किसी भी तर्क के साथ फिर से Dir फ़ंक्शन का उपयोग कर सकते हैं।

fileName = Dir()

नोट: जब कोई और फ़ाइल नाम मेल नहीं खाता है, तो Dir फ़ंक्शन शून्य-लंबाई स्ट्रिंग ("") देता है। नतीजतन, एक्सेल वीबीए डू जबकि लूप छोड़ देगा।

10. फिर से स्क्रीन अपडेट करना (लूप के बाहर) चालू करें।

Application.ScreenUpdating = True

11. कार्यक्रम का परीक्षण करें।

परिणाम:

एक्सेल वीबीए में निर्देशिका में फ़ाइलें

यह भी पढ़ें: