VBA তে File System Object (FSO) ব্যবহার করে Automation
File System Object (FSO) হল একটি VBA লাইব্রেরি যা ফাইল এবং ফোল্ডারের সাথে কাজ করার জন্য ব্যবহৃত হয়। এটি আপনাকে ফাইল এবং ডিরেক্টরি তৈরি, মুছে ফেলা, নকল করা, স্থানান্তর করা, নাম পরিবর্তন করা এবং অন্যান্য ফাইল সিস্টেম সম্পর্কিত কার্যক্রম স্বয়ংক্রিয় করতে সাহায্য করে। VBA তে FileSystemObject ব্যবহার করে আপনি ডিরেক্টরি ও ফাইলের উপর বিভিন্ন অপারেশন পরিচালনা করতে পারেন।
FSO ব্যবহার করার মাধ্যমে, আপনি ফাইল সিস্টেমের উপর কার্যকরী অ্যাকশন যেমন—ফাইল কপি, মুভ, ডিলিট, ফোল্ডার তৈরি, ফাইলের বৈশিষ্ট্য পড়া এবং ফাইলের তথ্য সংগ্রহ করা ইত্যাদি করতে পারেন।
FileSystemObject (FSO) এর সাথে কাজ করার জন্য প্রাথমিক প্রস্তুতি
FSO ব্যবহার করতে হলে প্রথমে আপনাকে Microsoft Scripting Runtime লাইব্রেরি রেফারেন্স অন্তর্ভুক্ত করতে হবে।
এটি কিভাবে করবেন:
- VBA Editor (Alt + F11) ওপেন করুন।
- Tools মেনু থেকে References সিলেক্ট করুন।
- "Microsoft Scripting Runtime" এর চেকবক্স নির্বাচন করুন।
- তারপর OK ক্লিক করুন।
এখন আপনি FileSystemObject ব্যবহার করতে পারবেন।
FileSystemObject ব্যবহার করে বিভিন্ন কার্যক্রম
1. FSO অবজেক্ট তৈরি এবং ফাইল চেক করা
Sub CheckFileExists()
Dim fso As Object
Dim filePath As String
' ফাইল পাথ নির্ধারণ
filePath = "C:\Users\YourName\Documents\example.txt"
' FileSystemObject তৈরি
Set fso = CreateObject("Scripting.FileSystemObject")
' ফাইল আছে কিনা চেক করা
If fso.FileExists(filePath) Then
MsgBox "ফাইলটি বিদ্যমান"
Else
MsgBox "ফাইলটি বিদ্যমান নয়"
End If
End Subএখানে, FileExists ফাংশন ব্যবহার করে চেক করা হচ্ছে যে ফাইলটি বিদ্যমান কিনা।
2. নতুন ফোল্ডার তৈরি করা
Sub CreateFolder()
Dim fso As Object
Dim folderPath As String
folderPath = "C:\Users\YourName\Documents\NewFolder"
' FileSystemObject তৈরি
Set fso = CreateObject("Scripting.FileSystemObject")
' ফোল্ডারটি যদি না থাকে তবে তৈরি করা
If Not fso.FolderExists(folderPath) Then
fso.CreateFolder folderPath
MsgBox "ফোল্ডারটি তৈরি হয়েছে"
Else
MsgBox "ফোল্ডারটি ইতিমধ্যে বিদ্যমান"
End If
End Subএখানে CreateFolder মেথড ব্যবহার করা হচ্ছে, যা একটি নতুন ফোল্ডার তৈরি করবে যদি সেটি আগে না থাকে।
3. ফাইল কপি করা
Sub CopyFile()
Dim fso As Object
Dim sourceFile As String
Dim destinationFile As String
sourceFile = "C:\Users\YourName\Documents\example.txt"
destinationFile = "C:\Users\YourName\Documents\Backup\example.txt"
' FileSystemObject তৈরি
Set fso = CreateObject("Scripting.FileSystemObject")
' ফাইল কপি করা
If fso.FileExists(sourceFile) Then
fso.CopyFile sourceFile, destinationFile
MsgBox "ফাইলটি সফলভাবে কপি করা হয়েছে"
Else
MsgBox "সূত্র ফাইলটি পাওয়া যায়নি"
End If
End Subএখানে CopyFile মেথড ব্যবহার করে একটি ফাইল অন্য একটি লোকেশনে কপি করা হচ্ছে।
4. ফাইল ডিলিট করা
Sub DeleteFile()
Dim fso As Object
Dim filePath As String
filePath = "C:\Users\YourName\Documents\example.txt"
' FileSystemObject তৈরি
Set fso = CreateObject("Scripting.FileSystemObject")
' ফাইলটি মুছে ফেলা
If fso.FileExists(filePath) Then
fso.DeleteFile filePath
MsgBox "ফাইলটি সফলভাবে মুছে ফেলা হয়েছে"
Else
MsgBox "ফাইলটি পাওয়া যায়নি"
End If
End Subএখানে DeleteFile মেথড ব্যবহার করে একটি ফাইল মুছে ফেলা হচ্ছে।
5. ফাইলের তথ্য পড়া
Sub ReadFileInfo()
Dim fso As Object
Dim filePath As String
Dim file As Object
filePath = "C:\Users\YourName\Documents\example.txt"
' FileSystemObject তৈরি
Set fso = CreateObject("Scripting.FileSystemObject")
' ফাইলটি পাওয়া গেলে ফাইলের তথ্য পড়া
If fso.FileExists(filePath) Then
Set file = fso.GetFile(filePath)
MsgBox "ফাইলের সাইজ: " & file.Size & " bytes" & vbCrLf & _
"ফাইলটি তৈরি হয়েছিল: " & file.DateCreated
Else
MsgBox "ফাইলটি পাওয়া যায়নি"
End If
End Subএখানে GetFile মেথড ব্যবহার করে একটি ফাইলের তথ্য পড়া হচ্ছে, যেমন ফাইলের সাইজ এবং তার তৈরির তারিখ।
FileSystemObject এর অন্যান্য ব্যবহারের উদাহরণ:
- MoveFile: ফাইল স্থানান্তর করতে।
fso.MoveFile "C:\source\file.txt", "C:\destination\file.txt"- DeleteFolder: ফোল্ডার মুছে ফেলা।
fso.DeleteFolder "C:\Users\YourName\Documents\OldFolder"- GetFolder: একটি ফোল্ডারের তথ্য পাওয়া।
Set folder = fso.GetFolder("C:\Users\YourName\Documents\MyFolder")
MsgBox "ফোল্ডারের আকার: " & folder.Size & " bytes"সারসংক্ষেপ
- FileSystemObject (FSO) ব্যবহার করে আপনি সহজেই ফাইল এবং ফোল্ডারের সাথে কাজ করতে পারেন, যেমন ফাইল তৈরি, মুছে ফেলা, কপি করা, স্থানান্তর করা, এবং ফোল্ডার তৈরি ইত্যাদি।
- FSO আপনাকে File এবং Folder সম্পর্কিত তথ্য পড়ার, লেখার, এবং পরিচালনা করার ক্ষমতা দেয়।
- VBA তে FSO ব্যবহারের মাধ্যমে আপনি Automation তৈরি করতে পারেন যা আপনার কাজকে দ্রুত এবং কার্যকরী করে তোলে।
এটি File System এর সাথে কার্যক্রম পরিচালনা করার জন্য একটি শক্তিশালী এবং নমনীয় টুল, যা আপনি বিভিন্ন সিস্টেম কাজের অটোমেশন করার জন্য ব্যবহার করতে পারেন।
Read more