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"。