Application.GetOpenFilename 方法 (Excel)

显示标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。

语法

expression.GetOpenFilename (FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

expression:表示 Application 对象的变量。

参数

名称 必需/可选 数据类型 说明
FileFilter 可选 Variant 指定文件筛选条件的字符串。
FilterIndex 可选 Variant 指定默认文件筛选条件的索引号,编号从 1 直到 FileFilter 中指定的筛选器编号。 如果此参数被省略或大于存在的筛选器数,使用的是第一个文件筛选器。
Title 可选 Variant 指定对话框的标题。 如果此参数被省略,标题为“打开”。
ButtonText 可选 Variant 仅限 Macintosh。
MultiSelect 可选 Variant 若为 True,允许选择多个文件名。 若为 False,仅允许选择一个文件名。 默认值为 False

返回值

Variant

备注

FileFilter 参数中传递的此字符串包含各对后跟 MS-DOS 通配符文件筛选器规范的文件筛选器字符串,其中每个部分和每个字符串对都以逗号分隔。 各对字符串在“文件类型”下拉列表框中列出。 例如,以下字符串指定两个文件筛选器- text 和 addin:

"Text Files (*.txt), *.txt,Add-In Files (*.xla), *.xla"

若要对一种文件筛选器类型使用多个 MS-DOS 通配符表达式,请使用分号来分隔通配符表达式;例如 "Visual Basic Files (*.bas; *.txt), *.bas;*.txt"

如果 FileFilter 被省略,则此参数默认为 "All Files (*.*), *.*"

此方法返回选定文件名或用户输入的文件名。 返回的文件名可能包含路径规范。 如果 MultiSelectTrue,返回值为一组选定文件名(即使用户只选择一个文件名,也不例外)。 如果用户取消了对话框,则该值为 False

此方法可能会更改当前驱动器或文件夹。

示例

此示例显示“打开”对话框,并将文件筛选设置为文本文件。 在用户选择文件名后,此代码便会在消息框中显示相应文件名。

fileToOpen = Application _ 
 .GetOpenFilename("Text Files (*.txt), *.txt") 
If fileToOpen <> False Then 
 MsgBox "Open " & fileToOpen 
End If

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。