提供文件对话框,其功能与 Microsoft Office 应用程序中标准的“
打开
”和“
保存
”对话框类似。
使用
FileDialog
属性返回
FileDialog
对象。
FileDialog
属性位于各个 Office 应用程序的
Application
对象中。 属性采用单个参数
MsoFileDialogType
,该参数确定属性返回的
FileDialog
对象的类型。 有四种类型的
FileDialog
对象:
“
打开
”对话框:允许用户选择一个或多个可以在主机应用程序中使用
Execute
方法打开的文件。
“
另存为
”对话框:允许用户选择一个文件,然后可以使用
Execute
方法将当前文件另存为该文件。
“
文件选取器
”对话框:允许用户选择一个或多个文件。 用户选择的文件路径将捕获到
FileDialogSelectedItems
集合中。
“
文件夹选取器
”对话框:允许用户选择路径。 用户选择的路径将捕获到
FileDialogSelectedItems
集合中。
每个主机应用程序只能创建
FileDialog
对象的单个实例。 因此,即使你创建多个
FileDialog
对象,
FileDialog
对象的许多属性也会保留。 因此,在显示对话框之前,请确保根据需要适当地设置所有属性。
要使用
FileDialog
对象显示文件对话框,你必须使用
Show
方法。 显示对话框后,在用户关闭对话框之前将不执行任何代码。 以下示例将创建并显示“
文件选取器
”对话框,然后在消息框中显示每个选定的文件。
Sub Main()
'Declare a variable as a FileDialog object.
Dim fd As FileDialog
'Create a FileDialog object as a File Picker dialog box.
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'Declare a variable to contain the path
'of each selected item. Even though the path is aString,
'the variable must be a Variant because For Each...Next
'routines only work with Variants and Objects.
Dim vrtSelectedItem As Variant
'Use a With...End With block to reference the FileDialog object.
With fd
'Use the Show method to display the File Picker dialog box and return the user's action.
'The user pressed the button.
If .Show = -1 Then
'Step through each string in the FileDialogSelectedItems collection.
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem is aString that contains the path of each selected item.
'Use any file I/O functions that you want to work with this path.
'This example displays the path in a message box.
MsgBox "The path is: " & vrtSelectedItem
Next vrtSelectedItem
'The user pressed Cancel.
End If
End With
'Set the object variable to Nothing.
Set fd = Nothing
End Sub
FileDialog 对象成员
对象模型引用
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.
提交和查看相关反馈