در اینجا من یک شئ برای شما تعریف میکنم که کارهای زیادی بر روی فایل ها و فولدر ها انجام میده :
شئ FileSystemObject :
برای استفاده از این شئ و بهره بردن از امکاناتش ابتدا باید آن را به برنامه خود اضافه کنیم در زیر مثالی آمده است که باعث میشود تمامی درایوهای شما در یک لیست بوکس نمایش داده شود.
ابتدا یک پروژه جدید باز کنید . سپس یک لیست بوکس (ListBox ) از جعبه ابزار به فرم خود اضافه کنید. حال یک دکمه فرمان(Command1) را در فرم خود قرار دهید سپس روی دکمه فرمان خود دوبار کلیک کنید تا پنجره کدها باز شود.کدهای زیر را بنویسید:
Private Sub Command1_Click
Dim FSO , Drives
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Drives = FSO.Drives
For Each Drive in Drives
if Drive.isready Then
List1.AddItem Drive
End If
Next
حالا برنامه خودتون رو اجرا کنید و با زدن دکمه فرمان لیست درایو های خودتان را ببینید.به همین سادگی شما خودتان یک کنترل DriveListBox ساختید!
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
در مثال زیر چگونگی ساختن فولدر را یاد میگیرید.
ابتدا یک پروژه جدید باز کنید . سپس یک دکمه فرمان روی فرم خود جاسازکنید! حالا کدهای زیر را در پنجره کدها بنویسید:
Private Sub Command1_Click
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CreateFolder "D:Ali" 'Create A New Directory
End Sub
در قطعه کد بالا علت اینکه عبارت "CreateFolder" رو کمرنگ نوشتم اینه که شما میتونید به جای اینکه با این عبارت یک فولدر بسازید می توانید با تغییر دادن آن به صورت CreateTextFile یک فایل تکست ایجاد کنید به این صورت:
Private Sub Command1_Click
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CreateTextFile "D:Ali.TXT" 'Create A New Text File
End Sub
و اما کپی کردن فایل برای کپی کردن یک فایل ما باید (در قطعه کد بالا) در خط چهارم به جای استفاده از FSO.CreateTextFile از FSO.CopyFile استفاده کنیم با این تفاوت که CopyFile داری دو آرگومان اجباری است که آرگومان اول مسیر فایل مبدا و آرگومان دوم مسیری است که فایل در آنجا کپی می شود. برای اینکه بهتر موضوع رو درک کنید یک مثال ساده برای شما می زنم:
یک پروژه جدید باز کنید و با قرار دادن یک دکمه فرمان(Command1) در پنجره کدها عبارات زیر را تایپ کنید:
Private Sub Command1_Click
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "D:Ali.TXT" , "C:CopyAli.TXT" 'Copy Ali to Drive C
End Sub
برای انتقال فایل نیز باید همانند بالا عمل کنیم اما با این تفاوت که به جای عبارت FSO.CopyFile باید از عبارت MoveFile استفاده کنیم. همچنین آرگومان اول MoveFile مسیر فایل مبدا و آرگومان دوم مسیر فایل مقصد است