एक्सेल VBA FileSystemObject (FSO)
VBA FileSystemObject (FSO) FileDialog के समान काम करता है, जिसका उपयोग हम उस कंप्यूटर की अन्य फ़ाइलों तक पहुँच प्राप्त करने के लिए करते हैं। हम इन फाइल्स को एडिट भी कर सकते हैं मतलब फाइल को पढ़ या लिख सकते हैं। एफएसओ का उपयोग करके हम फाइलों तक पहुंच सकते हैं, उनके साथ काम कर सकते हैं, फाइलों और फ़ोल्डरों को संशोधित कर सकते हैं। एफएसओ महत्वपूर्ण एपीआई उपकरण है जिसे हम वीबीए के साथ एक्सेस कर सकते हैं। VBA प्रोजेक्ट के एक भाग के रूप में, हमें काम पूरा करने के लिए अपने कंप्यूटर में कुछ फ़ोल्डर्स और फ़ाइलों तक पहुँचने की आवश्यकता हो सकती है।
हम FSO का उपयोग करके कई कार्य कर सकते हैं जैसे "यह देखने के लिए कि क्या फ़ोल्डर उपलब्ध है या नहीं," एक नया फ़ोल्डर या फ़ाइलें बनाएँ, मौजूदा फ़ोल्डर या फ़ाइलों का नाम बदलें, फ़ोल्डर में सभी फ़ाइलों की सूची प्राप्त करें, और नाम भी सबफ़ोल्डर करें । अंत में, हम फ़ाइलों को एक स्थान से दूसरे स्थान पर कॉपी कर सकते हैं।
यहां तक कि फ़ोल्डर और फ़ाइलों के साथ काम करने के लिए अन्य कार्य भी उपलब्ध हैं, एफएसओ वीबीए कोड को साफ और सीधे रखकर फ़ोल्डर्स और फाइलों के साथ काम करने का सबसे आसान तरीका है।
हम FileSystemObject के साथ चार प्रकार की वस्तुओं का उपयोग कर सकते हैं। नीचे वे हैं।
- ड्राइव: इस ऑब्जेक्ट का उपयोग करके, हम जांच सकते हैं कि उल्लेखित ड्राइव मौजूद है या नहीं। हम पाथनाम, उद्देश्य के प्रकार, और उद्यम का आकार प्राप्त कर सकते हैं।
- फ़ोल्डर: यह ऑब्जेक्ट हमें यह जांचने की अनुमति देता है कि क्या विशेष फ़ोल्डर मौजूद है या नहीं। हम इस ऑब्जेक्ट का उपयोग करके फ़ोल्डर्स बना सकते हैं, हटा सकते हैं, संशोधित कर सकते हैं।
- फ़ाइल: यह ऑब्जेक्ट हमें यह जांचने की अनुमति देता है कि क्या विशेष फ़ाइल मौजूद है या नहीं। हम इस VBA ऑब्जेक्ट का उपयोग करके फ़ाइलों को बना सकते हैं, हटा सकते हैं, संशोधित कर सकते हैं, कॉपी कर सकते हैं।
- टेक्स्ट स्ट्रीम: यह ऑब्जेक्ट हमें टेक्स्ट फाइल बनाने या पढ़ने की अनुमति देता है।
उपरोक्त सभी तरीकों के साथ काम करने की उनकी विधि है। अपनी आवश्यकताओं के आधार पर, हम प्रत्येक वस्तु का तरीका चुन सकते हैं।

FileSystemObject कैसे सक्षम करें?
यह VBA में आसानी से उपलब्ध नहीं है। चूंकि फ़ाइलों और फ़ोल्डरों को एक्सेस करना एक्सेल का बाहरी कार्य है, इसलिए हमें FileSystemObject को सक्षम करना होगा। प्रोत्साहित करने के लिए, नीचे दिए गए चरणों का पालन करें।
चरण # 1: उपकरण> संदर्भ पर जाएं।

चरण # 2 - 'Microsoft स्क्रिप्टिंग रनटाइम' विकल्प चुनें
नीचे स्क्रॉल करें और 'Microsoft स्क्रिप्टिंग रनटाइम' विकल्प चुनें। विकल्प चुनने के बाद, OK पर क्लिक करें।

अब हम VBA में FileSystemObject (FSO) को एक्सेस कर सकते हैं।
FileSystemObject का एक उदाहरण बनाएँ
ऑब्जेक्ट लाइब्रेरी से 'Microsoft स्क्रिप्टिंग रनटाइम' विकल्प सक्षम होने के बाद, हमें कोडिंग के लिए एक फ़ाइल सिस्टम ऑब्जेक्ट (FSO) बनाने की आवश्यकता है।
उदाहरण बनाने के लिए, पहले चर को FileSystemObject घोषित करें ।

जैसा कि हम देख सकते हैं, VBA में IntelliSense सूची में FileSystemObject दिखाई देता है। 'Microsoft स्क्रिप्टिंग रनटाइम' को सक्षम करने से पहले यह उपलब्ध नहीं होगा।
चूंकि एफएसओ एक वस्तु है, इसलिए हमें एक नया उदाहरण बनाने के लिए इसे सेट करने की आवश्यकता है।

अब हम FSO (FileSystemObject) के सभी विकल्पों तक पहुँच सकते हैं।

VBA FileSystemObject का उपयोग करने के उदाहरण
उदाहरण # 1 - कुल ड्राइव स्पेस का पता लगाएं
The below code will give the total space of the drive.
Code:
Sub FSO_Example1() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject Dim DriveName As Drive Dim DriveSpace As Double Set DriveName = MyFirstFSO.GetDrive("C:") 'Create new drive object DriveSpace = DriveName.FreeSpace 'This will get the free space of the drive "C" DriveSpace = DriveSpace / 1073741824 'This will convert the free space to GB DriveSpace = Round(DriveSpace, 2) 'Round the total space MsgBox "Drive " & DriveName & " has " & DriveSpace & "GB" End Sub

Break Down of the Code.
First, we created an instance of FSO.
Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject
Next, we have declared two variables.
Dim DriveName As Drive Dim DriveSpace As Double
Since DriveName is an Object variable, we need to set this to FSO one of the FSO method. Since we need the characteristic of the drive, we have used the Get Drive option and mentioned the drive name.
Set DriveName = MyFirstFSO.GetDrive("C:")
For another variable, DriveSpace, we will assign the free space method of the drive we are accessing.
DriveSpace = DriveName.FreeSpace
As of now, the above equation can get us free space of the drive “C.” So to show the result in GB, we have divided the open space by 1073741824
DriveSpace = DriveSpace / 1073741824
Next, we will round the number.
DriveSpace = Round(DriveSpace, 2)
Finally, show the result in Message Box.
MsgBox "Drive " & DriveName & " has " & DriveSpace & "GB"
When we run the code manually or through shortcut key F5, then in the message box, we will get the free space of the drive “C.”

So, in my computer Drive C has 216.19 GB of free space memory.
Example #2 - Check Whether the Folder Exists or Not
To check whether the particular folder exists or not, use the below code.
If the mentioned folder is available, it will show us the message box as “The Mentioned Folder is Available.” If not, it will show the VBA message box as “The Mentioned Folder is Not Available.”
Code:
Sub FSO_Example2() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FolderExists("D:Excel FilesVBAVBA Files") Then MsgBox "The Mentioned Folder is Available" Else MsgBox "The Mentioned Folder is Not Available" End If End Sub

इस कोड को एक्सेल शॉर्टकट कुंजी F5 या मैन्युअल के माध्यम से चलाएं, फिर परिणाम देखें।

उदाहरण # 3 - जांचें कि क्या फ़ाइल मौजूद है या नहीं
नीचे दिया गया कोड यह जाँच करेगा कि उल्लिखित फ़ाइल उपलब्ध है या नहीं।
कोड:
Sub FSO_Example3 (डिम MyFirstFSO के रूप में FileSystemObject सेट करें MyFirstFSO = नई FileSystemObject यदि MyFirstFSO.FileExists ("D: Excel Files VBA / VBA Files परीक्षण File.xlsm") तब MsgBox "उल्लेखित फाइल" उपलब्ध है "Elf Msf"। फ़ाइल उपलब्ध नहीं है "एंड इफ एंड सब

इस कोड को मैन्युअल रूप से चलाएं या F5 कुंजी का उपयोग करें, फिर परिणाम देखें।
