利用VB控件操作目錄和文件夾
|
(一) 察看和顯示目錄下的文件和文件夾
對于這個實現,其實很簡單。首先想到的就是VB中給我們提供的現成的控件。主要有這么兩類:
一類是驅動器列表框(DriveListBox)、目錄列表框(DirListBox)和文件列表框(FileListBox)三個控件組合而成的自定義對話框;
另一類是windows提供的標準對話框。
他們在工具箱中的位置和圖標如下所示:

1、驅動器列表框是一個下拉式的列表框,他和一般下拉式的列表框的不同僅在于功能上的不同,它提供了一個驅動器的列表。當單擊右邊的箭頭時,則彈出計算機中的所有驅動器的下拉列表。默認狀態下,在驅動器列表中顯示的是當前驅動器,我們可以輸入或從下拉列表中選擇有效的驅動器標示符。

下面是它的主要屬性,事件和方法.
| 屬性 | Drive | 本屬性用于返回或設置運行時選擇的驅動器.默認值為當前驅動器 改變Drive屬性會觸發Change事件. 示例: Drive1.Drive = “c:” 設置C盤為當前驅動器. |
| 事件 | Change | 當選擇一個新驅動器或通過代碼改變了Drive屬性時觸發該事件 |
下面是示例代碼:
| Private Sub Drive1_Change() Dir1.Path = Drive1.Drive ‘當選擇一個新驅動器時,將驅動器列表中選中的當前驅動器,賦給目錄列表的路徑. End Sub |
2、目錄列表框
目錄列表框用于顯示當前驅動器的目錄結構,目錄列表框從最高層目錄開始,顯示當前驅動器的目錄結構,并按層次關系縮進跟目錄下的所有子目錄。下面是它的主要屬性,方法和事件:
| 屬性 | Path | 本屬性用于返回或設置運行時選擇的路徑,默認路徑為當前路徑.改變Dri屬性會觸發Change事件. 示例: Dri1.Path = Drive1.Drive 設置在驅動器列表框中選中的驅動器盤符為目錄列表的當前路徑. |
| ListIndex | 本屬性用來返回或設置控件中當前被選擇的項目索引號.目錄列表框中的每一個目錄都可以通過ListIndex屬性來標識.由Path屬性所設置的當前目錄的ListIndex屬性值總是-1,而它上面的目錄的ListIndex屬性值為-2,再上面的為-3,以此類推;而它所包含的子目錄恰恰相反,緊挨著的第一個子目錄的ListIndex屬性值為0,往下一次加一. | |
| ListCount | 本屬性返回當前目錄下的所有子目錄書.ListCount的值比最大的ListIndex的值大1. | |
| 事件 | Change | 當選擇一個新目錄或通過代碼改變了Path屬性時觸發該事件 |
下面是示例代碼:
| Private Sub Dir1_Change() '將文件列表框的路徑值,設置為目錄列表框所選中的路徑值 File1.Path = Dir1.Path End Sub |
3、文件列表框
文件列表框用來顯示當前目錄中的部分或者全部文件.文件列表框的大部分屬性和一般的列表框相同,都具有大小,位置,字體,顏色等以及List,ListCount,ListIndex等屬性.下面是主要的屬性:
| 屬性 | Path | 本屬性用于返回或設置運行時選擇的路徑以顯示其下的文件,默認路徑為當前路徑.改變Dri屬性會觸發PathChange事件. 示例: File1.Path= Dri1.Path 設置在目錄列表框中選中的路徑為文件列表的當前路徑. |
| Pattern | 本屬性用來確定程序運行時,列表框中顯示那些類型的文件.除了使用”*” ”?”等通配符外,在參數中還可以使用分號”;”來分割多種文件類型.例如:”*.ext;*.bat” | |
| FileName | 本屬性返回或設置所選文件的路徑和文件名.可以從本屬性值中返回當前列表中選擇的文件名.路徑可用Path屬性單獨檢索.在功能上,本屬性值與ListIndex等價.如果沒有文件被選中,FileName屬性將返回0長度的字符串.改變甭屬性值可能會產生一個或多個如下事件:PathChange(如果改變路徑),PatternChange(如果改變模式),DblClick(如果指定存在的文件) | |
| 事件 | Click | 當選擇一個新的文件時觸發該事件 |
下面是示例代碼:
| Private Sub File1_Click() Picture1.Picture = LoadPicture(Dir1.Path & " " & File1.FileName) ‘在圖片框中顯示選定的圖形文件. End Sub |
4、標準對話框
CommonDialog控件提供了一組標準的操作對話框,進行諸如打開,和保存文件,設置打印選項,以及選擇顏色和字體等操作.通過運行windows幫助引擎還能顯示幫助.
CommonDialog控件在visual basic和Microsoft Windows動態鏈接庫commdlg.dll的例程之間提供了一個接口.為了用這個控件創建一個對話框,commdlg.dll必須存在于microsoft Windows的system目錄下.然后再visual basic中選擇工程/部件,并在顯示的部件對話框中選中Microsoft commonDialog Control 6.0,確定后,在工具欄里就顯示了出來.如下圖所示:

在應用程序中要使用CommonDialog控件,可將其添加到窗體中并設置其屬性.控件所顯示的對話框有控件的方法確定.在運行時,當相應的方法被調用時,將顯示一個對話框或是執行幫助引擎;在設計時,CommonDialog 控件是以圖標的形式顯示在窗體中的.該圖標的大小不能改變.
使用指定的方法,CommonDialog控件能夠顯示下列對話框:
| 方法 | 所顯示的對話框 |
| ShowOpen | 顯示[打開]對話框 |
| ShowSave | 顯示[另存為]對話框 |
| ShowColor | 顯示[顏色]對話框 |
| ShowFont | 顯示[字體]對話框 |
| ShowPrinter | 顯示[打印]或[打印選項]對話框 |
| Showhelp | 顯示windows幫助引擎 |
下面是它的主要屬性,方法:
| 屬性 | Filer | 該屬性應用于CommonDialog控件中的[打開][另存為]對話框.本屬性用來返回或設置在對話框[類型]列表框中顯示的過濾器.過濾的作用是確定對話框中文件列表框中顯示的文件類型.例如:設置為*.txt時,將顯示文本文件.要顯示多種類型的文件,可以用管道(|)符號(ASCII124)將他們分開.管道符號前后不能加空格.如:*.rm|*.rmvb | |
| Action | 該屬性返回或設置一個表示所顯示對話框類型的整數.具體如下. | ||
| 設置數值 | 說明 | ||
| 0 | 沒有操作 | ||
| 1 | 顯示[打開]對話框 | ||
| 2 | 顯示[另存為]對話框 | ||
| 3 | 顯示[顏色]對話框 | ||
| 4 | 顯示[字體]對話框 | ||
| 5 | 顯示[打印]或[打印選項]對話框 | ||
| 6 | 運行WINHLP32.EXE | ||
| FileName | 本屬性應用于CommonDialog控件的[打開][另存為]對話框. 本屬性返回或設置所選文件的路徑和文件名.如果在運行時被創建,FileName屬性將返回0長度的字符串,表示當前沒有選擇文件.在CommonDialog控件里,可以在打開對話框之前設置FileName屬性來設定初始文件名. 可以從本屬性值中返回當前列表中選擇的文件名.路徑可用Path屬性單獨檢索.在功能上,本屬性值與ListIndex等價.如果沒有文件被選中,FileName屬性將返回0長度的字符串. 改變甭屬性值可能會產生一個或多個如下事件:PathChange(如果改變路徑),PatternChange(如果改變模式),DblClick(如果指定存在的文件) | ||
| 事件 | Click | 當選擇一個新的文件時觸發該事件 | |
下面是一個例子:
我們在這里要做一個VCD的播放器,下面是界面.

下表是其中所用到的控件及其屬性設置:
| 對象 | 特性 | 設置值 |
| 窗體 | 名稱 | Frmvcd |
| BorderStyle | 1 | |
| Caption | VCD播放器 | |
| 菜單 | 標題 | 文件 |
| 名稱 | Mnufile | |
| 標題 | 打開 | |
| 名稱 | Mnuopen | |
| 標題 | 播放 | |
| 名稱 | Mnuplay | |
| 標題 | 退出 | |
| 名稱 | Mnuexit | |
| 標題 | 選項 | |
| 名稱 | Mnuoption | |
| 標題 | 連續播放 | |
| 名稱 | Mnurepeat | |
| 標題 | 靜音 | |
| 名稱 | Mnuslient | |
| 多媒體控件 | 名稱 | Mmcontrol |
| Picture控件 | 名稱 | Picture1 |
| 通用對話框 | 名稱 | Commondialog1 |
下面是主要程序代碼代碼:
| Private Sub mnuopen_Click() ’當點擊菜單中的打開時執行 '在未選擇文件時,文件名為空字符,播放菜單不可用 mnuplay.Enabled =False CommonDialog1.FileName = "" '下面語句設置文件過濾方式,可顯示擴展名為avi,dat,wav和mid文件 CommonDialog1.Filter = "(*.avi)|*.avi|(*.wave)|*.wav|(vcd *.dat)|*.dat|(midi *.mid)|*.mid" '初始化文件過濾方式為*.avi CommonDialog1.FilterIndex = 1 '建立打開方式的通用對話框,也可使用commondialog1.showopen CommonDialog1.Action = 1 '打開一個文件前先關閉前一次被打開的多媒體設備 MMControl1.Command = "close" Select CommonDialog1.FilterIndex Case 1 '選擇*.avi '設置多媒體設備類型為avividio MMControl1.DeviceType = "avividio" '設置時間格式為幀 MMControl1.TimeFormat = 3 '設置播放的文件為通用對話框中選擇的文件 MMControl1.FileName = CommonDialog1.FileName '打開文件 MMControl1.Command = "open " Case 2 '選擇*.wav '設置多媒體設備類型為waveaudio MMControl1.DeviceType = "waveaudio" '設置時間格式為幀 MMControl1.TimeFormat = 3 '設置播放的文件為通用對話框中選擇的文件 MMControl1.FileName = CommonDialog1.FileName '打開文件 MMControl1.Command = "open " Case 3 '選擇*.dat '設置多媒體設備類型為Mpegvidio MMControl1.DeviceType = "Mpegvidio" '設置時間格式為幀 MMControl1.TimeFormat = 3 '設置播放的文件為通用對話框中選擇的文件 MMControl1.FileName = CommonDialog1.FileName '打開文件 MMControl1.Command = "open " Case 4 '選擇*.mid '設置多媒體設備類型為waveaudio MMControl1.DeviceType = "waveaudio" '設置時間格式為幀 MMControl1.TimeFormat = 3 '設置播放的文件為通用對話框中選擇的文件 MMControl1.FileName = CommonDialog1.FileName '打開文件 MMControl1.Command = "open " End Select '設置hwnddisplay的值,使媒體文件能夠在picture控件中播放 MMControl1.hWndDisplay = Picture1.hWnd End Sub |
(二)新建、修改、刪除目錄
以上控件除了通用對話框(CommonDialog)之外一般只能顯示當前的目錄結構,對于在磁盤上新建、修改、刪除目錄卻基本無能為力。
我們先來看看通用對話框對文件夾的新建,修改和刪除操作.
1、新建目錄
我們只要在顯示出來的通用對話框的空白位置,單擊鼠標,選擇“新建”即可在指定的路徑下創建新的目錄,或者點擊通用對話框右上角的新建圖表(如下圖所示),也可以在指定的路徑下創建新的目錄

2、修改文件夾名稱
可以在顯示出來的通用對話框中,用鼠標右鍵點擊選擇所要修改的文件夾,再彈出的快捷菜單中,選擇重命名,即可修改目錄名稱。如下圖所示:

3、刪除文件夾
同修改文件夾名稱一樣,我們只要選擇刪除即可。如上圖所示。
而且這種方法比RmDir更簡便,它還可以刪除包含有文件和子文件夾的文件夾。
除了以上控件,windows還給我們提供了一個叫做FileSystemObject(簡稱FSO)對象。FSO對象模型中包括了計算機文件系統所有的對象。見下表。利用這些對象可以更方便的操作文件系統。
對象 | 功能 |
| Drive | 允許收集系統的驅動器信息,諸如驅動器的可用空間 |
| Folder | 允許創建、刪除或移動文件夾,并向系統查詢文件夾的名稱、路徑等等 |
| Files | 允許創建、刪除或移動文件,并向系統查詢文件的名稱、路徑等等 |
| FileSysterObject | 此為主要對象,提供一整套用于創建、刪除、搜集相關信息,以及通常的操作驅動器,文件夾,和文件的方法。 |
| TextStream | 允許讀寫文本文件 |
下面我們一起來看看怎樣用FSO對象來顯示、新建、修改以及刪除目錄。
FSO對象模型包含在Scripting的類型庫中,此類型庫存在于Scrrun.dll文件中.使用FSO對象模型,首先要建立一個FileSystemObject對象。有兩種方法可以實現。一種是從”工程”菜單中的”引用”對話框選擇”Microsoft Scripting Runtime”項,然后在代碼窗口中聲明一個FileSystemObject類型的變量.語句如下:
| Dim fso As New FileSystemObject |
另一種方法是在代碼中使用CreatObject方法動態的創建一個FileSystemObject對象.語句如下:
| Dim fso As Object ‘ 聲明對象變量 Set fso = CreatObject(“Scripting. FileSystemObject”) ‘創建FSO對象 |
我們具體看看FileSystemObject的主要屬性.
1、驅動器
(1) Drives屬性是FileSystemObject對象的唯一屬性,它返回Drives集合中所有可用驅動器的只讀集合。對于可刪除的驅動器,不需要將媒體插入其中,就可以在Drives集合中顯示出來。下面是它的主要屬性有兩個:一個是Count,另一個是Item.Count屬性返回Drives集合或Dictionary對象中的條目數.Item屬性用來返回或設置Drives集合或Dictionary對象中與指定關鍵字相關的項目.
下面代碼說明了如何獲得Drives集合,以及如何用For Eacn……Next語句來訪問該集合中的每個Drive:
| Sub ShowDriveList() Dim fs As Object, d, dc, s,n 創建文件系統對象 Set fs = CreatObject(“Scripting. FileSystemObject”) 創建驅動器集合 Set dc= fs.Drives '取的驅動器對象 For Each d in dc s = s & d.DriveLetter & “-” ‘格式化文本 If d.DriverType = Remote Then ‘如果是Remote類型的驅動器 n = d.ShareName ‘取得它的共享名 Else n = d.volumeName ‘否則取得它的卷標 End if s= s& n & vbCrLf ‘格式化文本 Next MsgBox s ‘顯示文本 End sub |
(2) 當然我們也可以用Drive對象.Drive對象提供了對磁盤驅動器或網絡共享屬性的訪問方法.下面是它的主要屬性及其解釋:
| Availablespace | 驅動器已用空間 | DriveLetter | 驅動器指定的字母 |
| Freespace | 驅動器剩余空間 | DriverType | 驅動器類型 |
| TotalSize | 驅動器全部空間 | FileSystem | 驅動器文件系統 |
| IsReady | 驅動器是否已準備 | Path | 驅動器根目錄 |
| SerizlNumber | 驅動器序列號 | VolumeName | 驅動器卷標 |
| ShareName | 驅動器共享名 |
主要的方法就是GetDrive,此方法用來訪問一個已有的驅動器,該方法返回一個與指定路徑中的驅動器相對應的Drive對象。下面的代碼中,我們將說明怎樣取得一個指定的驅動器的相關信息:
| Sub ShowFreeSpace(drvPath) ‘顯示指定目錄下的驅動器的信息 Dim fs As Object, d, s Set fs = CreateObject("Scripting.FileSystemObject") ‘創建文件系統對象 Set d = fs.GetDrive(fs.GetDriveName(drvPath)) ‘創建并得到指定取目錄下的驅動器 s = "Drive" & UCase(drvPath) & "-" ‘格式化文本 s = s & d.VolumeName & vbCrLf ‘得到驅動器的卷標 s = s & "FreeSpace:" & FormatNumber(d.FreeSpace / 1024, 0) '計算驅動器的剩余磁盤空間 s = s & "Kbytes" MsgBox s ‘顯示 End Sub |
下面是filesystemobject的其他方法
| CreateFolder | 該方法的作用是創建一個文件夾。所要創建的文件夾必須是不存在的,否則出錯。 |
| CreateTextFile | 該方法的作用是產生一個指定的文件名,并返回一個TextStream對象,該對象可被用于對指定的文件進行讀寫。如果overwrite參數為False或未指定,對于一個已存在的文件,將產生錯誤。 |
| DeleteFile | 該方法的作用是刪除一個指定的文件。如果指定的文件不存在,則出錯。 |
| DeleteFolder | 該方法的作用是刪除一個文件夾及其內容。如果沒有發現匹配的文件夾則出錯。該方法不能確定文件夾中是否包含內容。 |
| DriveExists | 該方法的作用是用來確定驅動器是否存在。如果指定的驅動器存在,則返回True,否則返回False。但對于可刪除介質的驅動器,即使沒有介質存在,DriveExists方法也返回True,因此最好使用IsReady屬性確定驅動器是否準備就緒。 |
| FileExists | 該方法的作用是判斷指定的文件對象是否存在于當前文件夾 |
| FolderExists | 該方法的作用是判斷指定的文件夾對象是否存在于當前文件夾 |
| GetDrive | 該方法的作用是返回一個在指定路徑中的與某個驅動器相對應的Drive對象。對于網絡驅動器,將首先檢查該共享是否存在。 |
| GerDriveName | 該方法的作用是返回包括某一指定路徑上的驅動器名的字符串。如果驅動器不能確定,則返回一個0長度字符串。該方法只對指定的路徑起作用,它并不試圖解析路徑,也不檢查指定路徑是否存在。 |
| GetExtensionName | 該方法的作用是返回指定路徑中最后一個組成部分的擴展名。 |
| GetFile | 該方法的作用是返回指定路徑中與某一文件相關的File對象。一定要保證所指定的文件是實際存在的。否則將產生錯誤。 |
| GetFileName | 該方法的作用是返回指定路徑的最后一個組成部分的文件名。 |
| GetFolder | 該方法的作用是返回指定路徑上的與某個文件夾相關的Folder對象.要保證指定的文件夾是實際存在的,否則會出錯. 使用Folder對象的第一部就是先用FileSystemObjectd的GetFolder方法得到Folder對象 |
| GetParentFolderName | 該方法的作用是返回一個包含指定路徑上的最后一個組成部分的父文件夾的名稱。 |
| MoveFile | 該方法的作用是將一個或多個文件從一個地方移動到另一個地方。 |
| MoveFolder | 該方法的作用是移動一個或多個文件夾,如果源路徑包含通配符,或目的路徑以斜杠()為結束,則表明目的路徑為已存在的路徑,在此文件夾中移動相匹配的文件夾.否則,認為目的路徑是一個要創建的目標文件夾的名字.如果目的路徑為一個已存在的文件或目的路徑為一個目錄,則出錯.如果沒有任何文件與源路徑中的通配符相匹配也出錯. |
| OpenTextFile | 該方法可用來打開一個指定的文件,并返回一個TextStream對象。用于讀文件或追加文件。 |
2、文件夾
對文件夾的操作,我們可以使用folder對象,它提供了對文件夾所有屬性和方法的訪問.下表市對其主要屬性的解釋:
| DateCreated | 返回指定文件或文件夾的創建日期和時間 |
| DateLastAccessed | 返回最后一次訪問指定文件或文件夾的日期和時間 |
| Drive | 返回指定文件或文件夾所在的驅動器符號 |
| Files | 返回由File對象組成的所有Files集合,這些Files集合包含在指定的文件夾中,包括設置了隱藏和系統文件屬性的那些文件夾 |
| IsRootFolder | 如果指定的文件夾是根文件夾,則返回True,否則返回False |
| Name | 設置或返回指定文件或文件夾的名稱 |
| ParentFolder | 返回指定文件或文件夾的父文件夾的Folder對象 |
| Path | 返回指定文件、文件夾或驅動器的路徑 |
| ShortName | 返回較早的需要8.3文件命名約定的程序所使用的短文件名 |
| ShortPath | 返回較早的需要8.3文件命名約定的程序所使用的短路徑 |
| Size | 對文件來說,本屬性返回以字節為單位的文件大小;對文件夾來說,返回以字節為單位包括其中所有文件或子文件夾的大小 |
| SubFolders | 返回包含所有文件夾的一個Folders集合,這些文件夾包含在某個特定文件夾中, 包括設置了隱藏和系統文件屬性的那些文件夾 |
| Type | 返回指定文件或文件夾的類型信息. |
使用Folder對象的第一部就是先用FileSystemObjectd的GetFolder方法得到Folder對象, 該方法的作用是返回指定路徑上的與某個文件夾相關的Folder對象.要保證指定的文件夾是實際存在的,否則會出錯.
讓我們來看一看其中的各種屬性及其用法吧.
(1)Attributes屬性可以返回文件或文件夾的屬性,或者設置他們的新屬性.所設屬性可以是以下值中任意一個或多個的邏輯組合.
| 常數 | 值 | 說明 |
| Normal | 0 | 為一般文件,不設置屬性 |
| ReadOnly | 1 | 為只讀文件,屬性為讀/寫 |
| Hidden | 2 | 為隱藏文件,屬性為讀/寫 |
| System | 4 | 為系統文件,屬性為讀/寫 |
| Volume | 8 | 為磁盤驅動器卷標,屬性為只讀 |
| Directory | 16 | 為文件夾或目錄,屬性為只讀 |
| Archive | 32 | 在上次備份后已經改變的文件,屬性為讀/寫 |
| Alias | 64 | 為鏈接或快捷方式,屬性為只讀 |
| Compressed | 128 | 為壓縮文件,屬性為只讀 |
(2)DateCreated屬性返回指定文件或文件夾的創建日期和時間,本屬性為只讀屬性.
下面是用法:
| Sub ShowFolderList( folderspec ) ‘folderspec 為文件夾名稱 Dim fs , f, f1,fc , s Set fs = CreateObject(“Scripting.FileSystemObject”) Set f = fs.GetFolder(folderspec) ‘得到folderspec文件夾相關的folder對象 Set fc = f.SubFolders ‘得到folder對象所包含的文件夾的folder集合 For Each fi in fc ‘訪問folder集合中的每一個folder s= s & f1.name ‘格式化要顯示的文本 s= s & vbCrLf Next MsgBox s ‘用對話框顯示信息 End Sub |
(3)DateLastModified屬性用來返回最后一次修改指定文件或文件夾的日期和時間,本屬性為只讀.
下面代碼用一個文件舉例說明了DataLastModified屬性的用法:
| Sub ShowFileAccessInfo(filespec) Dim fs,f,s Set fs = CreateObject(“Scripting.FileSystemObject”) Set f = fs.GetFolder(folderspec) ‘得到folderspec文件夾相關的folder對象 s= Ucase(filespec) & vbCrLf s= s& “Created:” & f.DateCreate & vbCrLf s= s & “Last Accessed :” & f.DateLastAccessed & vbCrLf s= s & “Last Modifide :” & f.DateLastModified MsgBox s, 0,”File Access Info” End Sub |
(4)Type屬性返回關于某個文件或文件夾類型的信息.例如對于以.TXT結尾的文本文件來說,本屬性會返回”Text Document”.下面的代碼舉例說明了返回某個文件夾類型的Type屬性的用法.在這個示例中,試圖將Recycle Bin的路徑或其他唯一的文件夾提供給過程.
| Sub ShowFileSize( filespec ) Dim fs,f,s Set fs = CreateObject(“Scripting.FileSystemObject”) Set f = fs.GetFolder(folderspec) ‘得到folderspec文件夾相關的folder對象 S = Ucase(f.Name) & “is a ” & f.Type ‘格式化文本 MsgBox s,o, “File Size Info ” ‘顯示信息 End Sub |
主要方法有:
(1)Copy方法:
該方法的作用是拷貝一個指定的文件或文件夾到指定的目錄.該方法和FileSystemObject.CopyFile方法的作用相同
(2)CreateTextFile方法:
該方法的作用是產生一個指定的文件名,并返回一個TextStream對象,該對象可被用于對指定的文件進行讀寫.如果overwrite參數為False或未指定,對于一個已存在的文件,將產生錯誤.
(3)Delete方法:
該方法的作用是刪除一個指定的文件或文件夾.如果指定的文件或文件夾不存在,則發生一個錯誤.對于一個File或Folder來說,Delete方法的運行的結果和執行FileSystemObject.DeleteFile或FileSystemObject.DeleteFolder的結果是一樣的.Delete方法執行時與指定的文件夾中時候有內容無關.
(4)Move
該方法用來將一個指定的文件夾或文件從一個地方移動到另一個地方,如果只是想移動一個文件或文件夾,則使用Move方法和使用FileSystemObject.MoveFile或FileSystemObject.MoveFolder操作的結果是一樣的,但是如果要同時移動多個文件或文件夾,則只能使用后者。
講了這么多,還是讓我們來看一下具體的實現方法:
1、 創建一個文件夾
可以使用FileSystemObject對象的CreateFolder方法來實現,但要創建的文件夾必須不存在,否則出錯。特別注意,FileSystemObject對象不能創建或刪除驅動器。
下面的例子可以在應用程序所在目錄下創建一個文件夾
| Sub CreateFolder(folderspec) Dim fs Set fs = CreatObject(“Scripting.FileSystemObject”) fs.CreaterFolder(folderspec ) End sub |
2、 刪除一個或多個文件夾
可以使用FileSystemObject對象的Deletfolder方法,或者folder對象的Delete方法
| Sub DeleteFolder(folderspec) Dim fs Set fs = CreatObject(“Scripting.FileSystemObject”) fs.DeleteFolder(folderspec & “100”) ‘Set f = fs.GetFolder(folderspec) ‘得到folderspec文件夾相關的folder對象 ‘f.Delete End sub |
3、移動一個或多個文件夾
可以使用FileSystemObject對象的Movefolder方法,或者folder對象的Move方法
| Sub MoveFolder(folderspec) Dim fs Set fs = CreatObject(“Scripting.FileSystemObject”) fs.MoveFolder(folderspec , “c:windows”) ‘Set f = fs.GetFolder(folderspec) ‘得到folderspec文件夾相關的folder對象 ‘f.Move(“c:windows”) End sub |
4、一個或多個文件夾
可以使用FileSystemObject對象的Copyfolder方法,或者folder對象的Copy方法。
| Sub CopyFolder(folderspec) Dim fs Set fs = CreatObject(“Scripting.FileSystemObject”) fs.CopyFolder(folderspec , “c:windows”) ‘Set f = fs.GetFolder(folderspec) ‘得到folderspec文件夾相關的folder對象 ‘f.Copy(“c:windows”) End sub |