​ExcelVBA-FSO对象模型-Files属性(提取文件列表)

2022-10-25 13:44:51 浏览数 (2)

ExcelVBA-FSO对象模型-Files属性(提取文件列表)

ExcelVBA-FSO对象模型-Folder对象-Files属性(提出文件列表)

FileSystemObjects对象模型包含了下面的对象和集合:esystemobject主对象,包含用来创建、删除和获得有关信息,以及用来操作驱动器、文件夹和文件的方法和属性

File对象,包含用来创建、删除或移动文件的方法和属性

Files集合,提供包含在文件夹内的所有文件的列表。

Folder对象,包含用来创建、删除或移动文件夹的方法和属性。

Folders集合,提供包含在文件夹内的所有文件夹的列表。

Folder 对象

提供对文件夹所有属性的访问权限。

Files 属性

返回一个Files集合, 该集合由指定文件夹中包含的所有**File** 对象组成, 包括具有隐藏和系统文件属性集的所有对象。

**File** 对象组成

**File** 对象属性

Files 集合包含有File的所有属性

====通过以上的学习====

我们可以先打开对话框===取得文件夹的路径===再把路径传给Folder对象===再收Files对象取得文件列表===由File对象读出文件路径来

【代码图片版本】

【运行取得文件夹中文件列表,不理会文件夹的】

【代码文字版本】

'打开对话框,选择文件夹,取得文件夹的路径

Sub t_File_List()

Dim arr() As String

With Application.FileDialog(msoFileDialogFolderPicker)

.Title = "请选择文件夹"

If .Show = -1 Then

pth = .SelectedItems(1)

arr = Get_Folder_File_List(pth)

Else

MsgBox "已取消操作!"

Exit Sub

End If

End With

[a1].Resize(UBound(arr) 1, 1) = Application.Transpose(arr)

End Sub

'自定义函数,传入一个文件夹路径,返回一个文件路径列表数组

Function Get_Folder_File_List(folderspec)

Dim fs, f, f1, fc, s

Set fs = CreateObject("Scripting.FileSystemObject")

Set f = fs.GetFolder(folderspec)

Set fc = f.Files

m = 0

For Each f1 In fc

s = s & f1.Path & ","

Next

temp_arr = Split(s, ",")

Get_Folder_File_List = temp_arr

End Function

=====今天学习到此啦====

0 人点赞