Excel工作表是做為文件在電腦中進行保存的,其基礎原理就是二進制數的排列組合,然後保存為表格文件。
本文介紹一下,如何利用一個對象,對電腦中的文件和文件夾進行操作。
實際上,操作系統最基礎部分就是對磁盤中的數據進行讀寫操作,vba也給出了解決辦法。
而且應用也十分簡單。重點是要掌握一些基本的文件操作命令,那麼使用起來就不難了。
示例,如下圖所示:
本示例将自動提取當前目錄下的文件夾,然後顯示到左側列表中,單擊文件夾名稱,右側列表框顯示出相應目錄下的文件。
就是這麼簡單的一個功能,我們來看一下如何實現。
首先,我們用到了一個創建文件操作對象的功能:
Set fobj = CreateObject("Scripting.FileSystemObject")
以前文章中也介紹過此對象的創建方法。
FileSystemObject,中文含意為文件系統對象。
這個對象下面包含的所有磁盤文件目錄的一些操作功能。
本節隻介紹如何對文件和文件夾進行操作。
也就是其下的子集,Folders 和 Files對象。
利用 set xF=GetFolder(folderDir)語句,可以返回一個文件夾對象,本語句将返回文件夾對象為xF。folderDir為文件夾地址。
然後利用set xFiles=xF.Files 返回,文件夾下面的所有文件的對象集合。
如下圖所示:
代碼
返回并顯示文件夾信息代碼:
Sub ShowFolderInfo(folderDir)
Dim fs, xf, xs
Set fs = CreateObject("Scripting.FileSystemObject")
Set xf = fs.GetFolder(folderDir)
xs = xf.DateCreated & VBA.vbCrLf & _
xf.Name & VBA.vbCrLf & _
xf.shortpath & VBA.vbCrLf & _
xf.Size & VBA.vbCrLf & _
xf.Type
MsgBox xs
Dim fx As Object
For Each fx In xf.subfolders
Me.ListBox1.AddItem fx.Name, 0
Next fx
Set fs = Nothing
Set fx = Nothing
Set xf = Nothing
End Sub
單擊列表顯示文件
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim xPath As String, xFolder As String
Dim fs, xf, xs, xfiles
xPath = ThisWorkbook.Path & "\"
xFolder = Me.ListBox1.List(Me.ListBox1.ListIndex)
xPath = xPath & xFolder & "\"
Set fs = CreateObject("Scripting.FileSystemObject")
Set xf = fs.GetFolder(xPath)
Set xfiles = xf.Files
Dim x As Object
For Each x In xfiles
Me.ListBox2.AddItem x.Name, 0
Next x
Set xfiles = Nothing
Set xf = Nothing
Set fs = Nothing
End Sub
對文件的操作,這個對象還是很用的,具體對文件進行什麼樣的操作,接下來的文章會有介紹,比如打開、新建、複制、删除等等。
歡迎關注、收藏
---END---
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!