ExcelVBA文件操作之Application.FileDialog属性与方法

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

Application.FileDialog属性与方法

【语法】

Application.FileDialog(fileDialogType)

【参数解析】

fileDialogType MsoFileDialogType 类型,必需。文件对话框的类型。

MsoFileDialogType 可为以下 MsoFileDialogType 常量之一。

允许用户选择文件。

msoFileDialogFilePicker

允许用户选择一个文件夹。

msoFileDialogFolderPicker

允许用户打开文件。

msoFileDialogOpen

允许用户保存一个文件。

msoFileDialogSaveAs

【属性】

【◆实例1】msoFileDialogFilePicker选择单个文件

Sub SelectFile()

'选择单一文件

With Application.FileDialog(msoFileDialogFilePicker)

.AllowMultiSelect = False

'单选择

.Filters.Clear

'清除文件过滤器

.Filters.Add "Excel Files", "*.xls;*.xlw"

.Filters.Add "All Files", "*.*"

'设置两个文件过滤器

If .Show = -1 Then

'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和0(如果您按 Cancel)。

MsgBox "您选择的文件是:" & .SelectedItems(1), vbOKOnly vbInformation, "提示"

End If

End With

End Sub

==============

【◆实例2】msoFileDialogFilePicker选择多个文件

SubSelectFile_multi()

'选择多个文件

Dim l As Long

WithApplication.FileDialog(msoFileDialogFilePicker)

.AllowMultiSelect = True

'单选择

.Filters.Clear

'清除文件过滤器

.Filters.Add "Excel Files","*.xls;*.xlw"

.Filters.Add "All Files","*.*"

'设置两个文件过滤器

.Show

'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。

For l = 1 To .SelectedItems.Count

MsgBox "您选择的文件是:" & .SelectedItems(l),vbOKOnly vbInformation, "提示"

Next

End With

End Sub

【◆实例3】msoFileDialogFolderPicker选择文件夹(这个功能没有多选)

代码

Sub SelectFolder()

'选择单一文件

With Application.FileDialog(msoFileDialogFolderPicker)

If .Show = -1 Then

'FileDialog 对象的 Show 方法显示对话框,并且返回 -1(如果您按 OK)和 0(如果您按 Cancel)。

MsgBox "您选择的文件夹是:" & .SelectedItems(1),vbOKOnly vbInformation, "提示"

End If

End With

End Sub

【◆实例4】msoFileDialogOpen选择打开文件

代码

Sub t_msoFileDialogOpen()

WithApplication.FileDialog(msoFileDialogOpen)

.Filters.Clear

.Filters.Add "Excel File","*.xls"

.Filters.Add "All File","*.*"

If .Show = -1 Then

MsgBox "您选择要打开的文件是" & .SelectedItems(1)

'Workbooks.Open (.SelectedItems(1))

Else

MsgBox "您选择取消" & Chr(10)& "准备退出程序"

Exit Sub

End If

End With

End Sub

msoFileDialogOpen与msoFileDialogSaveAs

使用方法与前两种相同

只是在.show

可以用.Execute方法来实际打开或者保存文件。

========资料来自于网络========

0 人点赞