![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SNhlzM3UWO3cDZ2QTOxEDNyczYjdjZ5IGO0kjN5UmZ18CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
,提供了在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對象的方法有27個,具體如下表:
常用的方法說明如下:
BuildPath方法,将檔案夾路徑和檔案夾或檔案的名稱組合在一起,并傳回與有效路徑分隔符的組合
文法格式:FSO.BuildPath(Path,Name)
Path:必需。組合了_名稱_的現有路徑。路徑可以是絕對路徑或相對路徑,并且不需要指定現有檔案夾。
Name:必需。追加到現有_路徑_中的檔案夾或檔案的名稱。
CopyFile 方法,
将一個或多個檔案從一個位置複制到另一個位置文法格式:FSO.CopyFile Source、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對象的了解。