FSO對象是什麼鬼?它是用來幹什麼的?
FSO是FileSystemObject(文件系統對象)的簡稱,提供了在windows中操作本地文件和文件夾的功能,此對象不光可用在VBA編程中,VC,VB程式語言中也可以實用此對象。
FSO 對象模型可以實現文件(夾)的創建、改變、移動和刪除等常見操作,也可以獲取文件(夾)的名稱、大小、屬性、創建日期或最近修改日期等信息,還可以檢測是否存在指定的文件夾。通過FSO 對象模型可以獲取當前系統驅動器信息,如驅動器的種類(CD-ROM還是可移動磁碟)、磁碟剩餘空間等等。
怎樣創建FSO對象?
創建FSO對象和創建字典對象類似,有兩種方法:
第一種是直接創建法:
Dim MyFSO as Object
Set MyFSO = CreateObject("Scripting.FileSystemObject")
第二種是引用發:
首先通過VBE編譯器裡的 工具->引用->瀏覽中找到scrrun.dll文件,點擊確定,具體操作如下:
然後在VBA代碼中,用 Dim MyFSO As New FileSystemObject 來創建新的FSO對象。
FSO對象的屬性有哪些?
FSO對象的屬性如下:
小夥伴們要著重了解一下:驅動器屬性Drivers,
返回一個 Drive 集合, 該集合由本地計算機上可用的所有Drive對象組成。
語法格式為:FSO對象.Drives。
應用舉例如下:
備註:Drive對象提供對特定磁碟驅動器或網絡共享的屬性的訪問
Drive對象的屬性如下:
FSO對象的方法有哪些?
FSO對象的方法有27個,具體如下表:
常用的方法說明如下:
BuildPath方法 ,將文件夾路徑和文件夾或文件的名稱組合在一起,並返回與有效路徑分隔符的組合
語法格式:FSO.BuildPath(Path,Name)
Path:必需。組合了_名稱_的現有路徑。路徑可以是絕對路徑或相對路徑,並且不需要指定現有文件夾。
Name:必需。追加到現有_路徑_中的文件夾或文件的名稱。
CopyFile 方法,將一個或多個文件從一個位置複製到另一個位置
語法格式:FSO.CopyFileSource、destination 、[OverWirte]
Source 必需。字符串文件規範,可以包括通配符來代表要複製的一個或多個文件。
destination 必需。要將 source中的文件複製到的字符串目標。不能使用通配符。
OverWirte可選。布爾值,指示是否覆蓋現有文件。如果為 True,則覆蓋文件,如果為 False,則不覆蓋文件。默認為 True。請注意,如果 destination 具有隻讀屬性集,則不管 overwrite 值是什麼,CopyFile 都將失敗。
CopyFolder方法,將文件夾從一個位置遞歸複製到另一個位置。語法格式與CopyFile方法相同。
CreateFolder 方法,創建文件夾。
語法格式:FSO.CreateFolder(FolderName)
FolderName必需。 標識要創建的文件夾的字符串表達式。
注意的是:如果指定文件夾已存在,則將出錯。
DeleteFile 方法,刪除指定文件。
語法格式:FSO.DeleteFile filespec,[ force ]
Filespec 必需。要刪除的文件的名稱。filespec 可以在最後的路徑組件中包含通配符。
Force 可選。若要刪除帶有隻讀屬性集的文件,則 Boolean 值為 True;否則為 False(默認)。
DeleteFolder方法,刪除指定文件夾及其內容。語法格式與DeleteFile方法相同。
DriveExists 方法,如果指定的驅動器存在,則返回 True;否則,返回 False。
語法格式:FSO.DriveExists(drivespec)
drivespec 必需。 驅動器根目錄的驅動器號或路徑規範。
FileExists方法,FolderExists方法,如果指定文件或文件夾存在,則返回True;否則,返回 False。語法格式與DriveExists方法相同。
GetFile 方法,返回與指定路徑中的文件對應的file 對象。
語法格式:FSO.GetFile(filespec)
FileSpec必需。是特定文件的(絕對或相對)路徑。
GetFolder方法,返回與指定路徑中的文件夾對應的folder對象。語法格式與GetFile方法格式相同。
GetParentFolderName方法,返回一個字符串,其中包含指定路徑中最後一個組件的父文件夾的名稱。
語法格式:FSO.GetParentFolderName(path)
path 必需。要返回其父文件夾名稱的組件的路徑說明。
MoveFile方法,將一個或多個文件從一個位置移動到另一個位置。
語法格式:FSO.MoveFileSource,destination
Source必需。 要移動的一個或多個文件的路徑。 source 參數字符串只能在最後一個路徑組件中包含通配符。
destination 必需。 一個或多個文件要移動到的路徑。 destination參數不能包含通配符。
MoveFolder方法,將一個或多個文件夾從一個位置移動到另一個位置。語法格式與MoveFile方法相同。
此部分內容較多,希望小夥伴們能靜下心來閱讀,此對象對文件以及文件夾的處理非常方便,下一篇文章將會通過一個具體的實例來加深對此FSO對象的理解。