您的位置首页百科问答

VBA通过文件选择对话框选择文件夹和文件

VBA通过文件选择对话框选择文件夹和文件

的有关信息介绍如下:

VBA通过文件选择对话框选择文件夹和文件

VBA通过Application.FileDialog()可以打开文件选择对话框供用户选择目标文件夹或者目标文件。

首先建立一个文件夹选择对话框对象,这里的关键参数是msoFileDialogFolderPicker,代码如下:

Set FolderDialogObject = Application.FileDialog(msoFileDialogFolderPicker)

接着配置对话框对象参数,主要对参数如下:

a. 对话框名称属性Title;

b. 默认初始路径InitialFileName;

参考代码如下:

With FolderDialogObject

.Title = "请选择要查找的文件夹"

.InitialFileName = "C:\"

End With

显示对话框,并选择目标文件夹并确定

a. 显示对话框 FolderDialogObject.Show

b. 获取选择到的文件夹 set paths =FolderDialogObject.SelectedItems

完整代码示例如下:

Sub FolderPicker()

'新建一个对话框对象

Set FolderDialogObject = Application.FileDialog(msoFileDialogFolderPicker)

'配置对话框

With FolderDialogObject

.Title = "请选择要查找的文件夹"

.InitialFileName = "C:\"

End With

'显示对话框

FolderDialogObject.Show

'获取选择对话框选择的文件夹

Set paths = FolderDialogObject.SelectedItems

End Sub

首先建立一个文件选择对话框对象,这里的关键参数是msoFileDialogFilePicker,代码如下:

Set FileDialogObject = Application.FileDialog(msoFileDialogFilePicker)

接着配置对话框对象参数,主要对参数如下:

a. 对话框名称属性Title;

b. 默认初始路径InitialFileName;

c. 与文件夹选择不同的时,这里可以选择是否要多选文件,属性为AllowMultiSelect,默认是True,可以多选,如果设置为False,就是不可以多选。

参考代码如下:

With FileDialogObject

.Title = "请选择文件"

.AllowMultiSelect = True

.InitialFileName = "C:\"

End With

显示对话框,并选择目标文件并确定

a. 显示对话框 FileDialogObject.Show

b. 获取选择到的文件 set paths =FileDialogObject.SelectedItems

完整代码示例如下:

Sub FilePicker()

'新建一个对话框对象

Set FileDialogObject = Application.FileDialog(msoFileDialogFilePicker)

'配置对话框

With FileDialogObject

.Title = "请选择文件"

.InitialFileName = "C:\"

.AllowMultiSelect = True

End With

'显示对话框

FileDialogObject.Show

'获取选择对话框选择的文件

Set paths = FileDialogObject.SelectedItems

End Sub

上文中获取的paths是一个对象(如下图),Count表示选择项的个数,如果属性Count=0则说明没有选择文件夹或者文件。

可能通过下标获取选择的其中一个项,paths(1)代表第一个选择到的项,在这里的值是"C:\shell.log"。