इस ट्यूटोरियल में, आप सीखेंगे कि किसी फोल्डर में सभी फाइलों के नाम कैसे प्राप्त करें और उन्हें वर्कशीट में कैसे डालें।
इसके बजाय, यदि आप यह जानना चाहते हैं कि फ़ाइल मौजूद है या नहीं, तो आप इस लिंक पर क्लिक कर सकते हैं: VBA फ़ाइल मौजूद है
किसी फ़ोल्डर में फ़ाइलों की सूची प्राप्त करने के लिए FileSystemObject का उपयोग करना
VBA आपको का उपयोग करके, एक फ़ोल्डर से सभी फाइलों को सूचीबद्ध करने की अनुमति देता है फाइलसिस्टमऑब्जेक्ट.
हम दिखाएंगे कि फोल्डर में फाइलों की सूची कैसे प्राप्त करें सी: \ वीबीए फ़ोल्डर और इसे वर्कशीट के पहले कॉलम में डाल दें। इस फ़ोल्डर में 5 फ़ाइलें हैं, जैसा कि चित्र 1 में दिखाया गया है:
छवि 1. फ़ोल्डर C:\VBA फ़ोल्डर में फ़ाइलें
यहाँ कोड है:
1234567891011121314151617181920 | सब लूपथ्रूफाइल्स ()वस्तु के रूप में FSO का मंद होनाऑब्जेक्ट के रूप में मंद ओफ़ोल्डरऑब्जेक्ट के रूप में डिम ओफाइलडिम आई अस इंटीजरओएफएसओ सेट करें = CreateObject ("Scripting.FileSystemObject")oFolder = oFSO.GetFolder("C:\VBA Folder") सेट करेंफ़ोल्डर में प्रत्येक फ़ाइल के लिए। फ़ाइलेंसेल (i + 1, 1) = oFile.Nameमैं = मैं + 1अगली फ़ाइलअंत उप |
उदाहरण में, पहले क्लास का ऑब्जेक्ट बनाएं स्क्रिप्टिंग.फाइलसिस्टमऑब्जेक्ट:
1 | ओएफएसओ सेट करें = CreateObject ("Scripting.FileSystemObject") |
फिर विधि का उपयोग करके फ़ोल्डर सेट करें GetFolder:
1 | oFolder = oFSO.GetFolder("C:\VBA Folder") सेट करें |
प्रत्येक फ़ाइल के माध्यम से अगला लूप फ़ोल्डर, का उपयोग करते हुए oFile.Name to फ़ोल्डर में प्रत्येक फ़ाइल का नाम प्राप्त करें और इसे अगली खाली पंक्ति में लिखें:
123456 | फ़ोल्डर में प्रत्येक फ़ाइल के लिए.फ़ाइलेंसेल (i + 1, 1) = oFile.Nameमैं = मैं + 1अगली फ़ाइल |
छवि 2. फ़ोल्डर में फ़ाइलों की सूची के साथ कार्यपत्रक
जैसा कि आप इमेज 2 में देख सकते हैं, C:\VBA फोल्डर की सभी 5 फाइलें पहले कॉलम में सूचीबद्ध हैं।