VBA GetFolder और GetFile (फ़ाइल और फ़ोल्डर गुण प्राप्त करें)

यह ट्यूटोरियल प्रदर्शित करेगा कि FileSystemObject के GetFolder और GetFile विधियों का उपयोग कैसे करें।

VBA FileSystemObject के साथ फ़ोल्डर और फ़ाइल गुण प्राप्त करें

GetFolder विधि एक निर्दिष्ट पथ में फ़ोल्डर से संबंधित एक फ़ोल्डर ऑब्जेक्ट देता है और आपको इसके गुणों तक पहुंचने देता है। GetFile विधि निर्दिष्ट फ़ाइल के साथ ऐसा ही करती है।

वीबीए संदर्भ सेट करें

सबसे पहले, FileSystemObjects का उपयोग करते समय, आपको VB स्क्रिप्ट रन-टाइम लाइब्रेरी के लिए एक संदर्भ सेट करना पड़ सकता है: Visual Basic Editor (ALT+F11) खोलें, ड्रॉप-डाउन मेनू से टूल्स > संदर्भ चुनें और के चेक-बॉक्स पर टिक करें। 'माइक्रोसॉफ्ट स्क्रिप्टिंग रनटाइम'।

फाइलसिस्टमऑब्जेक्ट

दूसरा, आपको FileSystemObject बनाना होगा:

12 नई फाइलसिस्टमऑब्जेक्ट के रूप में मंद एफएसओFSO सेट करें = CreateObject ("Scripting.FileSystemObject")

अब आपके पास GetFolder, और अन्य FileSystemObject विधियों तक पहुंच है।

GetFolder विधि का उपयोग

उस फ़ोल्डर को निर्दिष्ट करने के बाद जिसे आप एक्सेस करना चाहते हैं

1 सेट fld = FSO.GetFolder("C:\Src\")

आप इसे कॉपी कर सकते हैं:

1 fld.Copy "C:\NewFolder\"

इसे हटाएं:

1 fld.स्थानांतरित करें "C:\NewFolder\"

इसे मिटाओ:

1 fld.हटाएं

या इसमें एक नई टेक्स्ट फ़ाइल बनाएँ:

1 fld.CreateTextFile "NewTextFile.txt"

इस पद्धति का उपयोग करके, आप फ़ोल्डर के गुणों जैसे कि इसकी विशेषताओं (fld.Attributes), दिनांक और समय जब इसे बनाया गया था (fld.DateCreated), अंतिम बार एक्सेस किया गया (fld.DateLastAccessed), अंतिम संशोधित (fld.DateLastModified) तक पहुँच प्राप्त करते हैं। ), इसके ड्राइव का अक्षर (fld.Drive), इसका नाम और संक्षिप्त नाम (fld.Name, fld.ShortName), इसका पथ और छोटा पथ (fld.Path, fld.ShortPath), इसका आकार (fld.Size), इसका टाइप करें (fld.Type), उसका पैरेंट फोल्डर (fld.ParentFolder), जांचें कि क्या यह रूट फोल्डर है (fld.IsRootFolder) या आप इसकी फाइलों (fld.Files) या सबफोल्डर्स (fld. सबफ़ोल्डर)।

यह सब एक साथ एक प्रक्रिया में रखना इस तरह दिखेगा:

123456789101112131415161718192021222324 उप FSOGetFolder ()नई फाइलसिस्टमऑब्जेक्ट के रूप में मंद एफएसओFSO सेट करें = CreateObject ("Scripting.FileSystemObject")सेट fld = FSO.GetFolder("C:\Src\")डिबग.प्रिंट fld.DateCreatedडिबग.प्रिंट fld.Driveडीबग.प्रिंट fld.Nameडिबग.प्रिंट fld.ParentFolderडिबग। प्रिंट fld.Pathडिबग। प्रिंट fld.ShortPathडिबग.प्रिंट fld.Sizeडिबग.प्रिंट fld.Files.Countडिबग.प्रिंट fld.TypeFld.SubFolders में प्रत्येक फोल्ड के लिएडिबग.प्रिंट फोल्ड.नामअगला गुनाFld.Files में प्रत्येक फ़ाइल के लिएडिबग.प्रिंट fil.Nameअगली फ़ाइलअंत उप

कृपया ध्यान दें कि डिबग का परिणाम देखने के लिए आपको Ctrl+G दबाना होगा। VBA तत्काल विंडो में प्रिंट कमांड।

GetParentFolderName विधि

वैकल्पिक रूप से उपर्युक्त तरीके से, आप इस कोड का उपयोग करके किसी फ़ोल्डर के मूल फ़ोल्डर के नाम तक पहुंच सकते हैं:

1234 नई फाइलसिस्टमऑब्जेक्ट के रूप में मंद एफएसओFSO सेट करें = CreateObject ("Scripting.FileSystemObject")पेरेंटफोल्ड = FSO.GetParentFolderName("C:\ParentTest\Test\")

इस मामले में पेरेंटफोल्ड "सी: \ पैरेंटटेस्ट \" होगा।

कृपया ध्यान दें कि यह विधि पथ को हल नहीं करेगी, न ही यह निर्दिष्ट पथ के अस्तित्व की जांच करती है।

GetSpecialFolder विधि

GetSpecialFolder विधि के साथ, 0, 1 या 2 को तर्क के रूप में पास करके, आप अपना विंडोज फ़ोल्डर पथ (विंडोज ऑपरेटिंग सिस्टम द्वारा स्थापित फाइलों के साथ), आपका सिस्टम फ़ोल्डर पथ (लाइब्रेरी, फोंट और डिवाइस ड्राइवरों के साथ) और अस्थायी प्राप्त कर सकते हैं फ़ोल्डर पथ (वह फ़ोल्डर जो अस्थायी फ़ाइलों को संग्रहीत करने के लिए उपयोग किया जाता है), क्रमशः।

1234567 उप FSOGetSpecialFolder ()नई फाइलसिस्टमऑब्जेक्ट के रूप में मंद एफएसओFSO सेट करें = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder(0) 'परिणाम यह हो सकता है: C:\Windows\System32अंत उप

गेटफाइल विधि

आप GetFile विधि का उपयोग GetFolder विधि के समान ही कर सकते हैं। उस फ़ाइल को निर्दिष्ट करने के बाद जिसे आप एक्सेस करना चाहते हैं

1 सेट fil = FSO.GetFile("C:\Src\Test.xlsx")

आप इसे कॉपी कर सकते हैं:

1 fil. "C:\Dst\" कॉपी करें

इसे हटाएं:

1 fil. "C:\Dst\" ले जाएँ

इसे मिटाओ:

1 फिल्म.हटाएं

या इसे टेक्स्टस्ट्रीम ऑब्जेक्ट के रूप में खोलें:

1 fil.OpenAsTextStream

फ़ाइल के गुण जैसे कि इसकी विशेषताएँ, दिनांक और समय जब इसे बनाया गया था, अंतिम बार एक्सेस किया गया था या अंतिम संशोधित किया गया था, इसके ड्राइव का अक्षर, नाम और संक्षिप्त नाम, पथ और छोटा पथ, आकार, प्रकार और इसके मूल फ़ोल्डर को उसी तरह एक्सेस किया जा सकता है। जैसा कि GetFolder विधि में वर्णित है।

आप साइट के विकास में मदद मिलेगी, अपने दोस्तों के साथ साझा करने पेज

wave wave wave wave wave