天天看點

activexobject對象不能建立_Excel VBA 操作檔案(夾)神器--FSO對象

activexobject對象不能建立_Excel VBA 操作檔案(夾)神器--FSO對象
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檔案,點選确定,具體操作如下:

activexobject對象不能建立_Excel VBA 操作檔案(夾)神器--FSO對象

然後在VBA代碼中,用 Dim MyFSO As New FileSystemObject 來建立新的FSO對象。

FSO對象的屬性有哪些?

FSO對象的屬性如下:

activexobject對象不能建立_Excel VBA 操作檔案(夾)神器--FSO對象

小夥伴們要着重了解一下:驅動器屬性Drivers,

傳回一個 Drive 集合, 該集合由本地計算機上可用的所有Drive對象組成。

文法格式為:FSO對象.Drives。

應用舉例如下:

activexobject對象不能建立_Excel VBA 操作檔案(夾)神器--FSO對象

備注:Drive對象提供對特定磁盤驅動器或網絡共享的屬性的通路

Drive對象的屬性如下:

activexobject對象不能建立_Excel VBA 操作檔案(夾)神器--FSO對象
FSO對象的方法有哪些?

FSO對象的方法有27個,具體如下表:

activexobject對象不能建立_Excel VBA 操作檔案(夾)神器--FSO對象

常用的方法說明如下:

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.

MoveFile

Source,destination

Source 必需。 要移動的一個或多個檔案的路徑。 source 參數字元串隻能在最後一個路徑元件中包含通配符。

destination 必需。 一個或多個檔案要移動到的路徑。 destination 參數不能包含通配符。

MoveFolder方法,

将一個或多個檔案夾從一個位置移動到另一個位置。文法格式與MoveFile方法相同。

此部分内容較多,希望小夥伴們能靜下心來閱讀,此對象對檔案以及檔案夾的處理非常友善,下一篇文章将會通過一個具體的執行個體來加深對此FSO對象的了解。