目录
Application. GetSaveAsFilename方法
码1
使用Application.GetOpenFilename方法显示打开文件的对话框,然后根据用户选择的文件进行相应的操作。
Option Explicit
Sub 选择文件1()
Dim fileName As String
fileName = Application.GetOpenFilename( _
filefilter:="Excel 文件,xlsx,Excel 2003文件,*.xls", _
FilterIndex:=2, _
Title:="选择文件")
If fileName = "false" Then
MsgBox "取消了"
Else
MsgBox "选择的文件为:" & fileName
End If
End Sub
Application.GetOpenFilename方法
Application. GetOpenFilename方法可以显示一个打开文件的窗口,并返回用户所选择的文件路径,其语法为:
Application.GetOpenFilename(FileFilter,Filterlndex,Title,ButtonText,MultiSelect)
参数FileFilter为一个文本字符串,表示文件的筛选。该筛选文本用以筛选不同扩展名的文件,各个筛选类型之间以逗号隔开,按照“筛选说明,筛选通配符”的形式成对出现。如需要提供两个筛选:文本文件(Txt)和备份文件(BAK),则可以使用以下文本作为该参数:
文本文件(Txt),*.Txt,备份文件(BAK),*.BAK
- 参数Filterlndex为一个大于0的整型数值,表示默认筛选的序号。
- 参数Title为一个文本,表示打开文件对话框的标题。若该参数省略,则默认为“打开”。
- 参数ButtonText为一个文本,表示对话框中按钮的显示文字。该参数只在Macintosh系统下有效。
- 参数MultiSelect为一个逻辑值。当设置为True时,表示允许选择多个文件,反之则为只能选择一个文件。
该方法具有返回值,可以根据用户的不同选择返回不同的值。
- 若用户未选择任何文件或直接关闭窗口,则返回False。
- 选择若将MultiSelect设置为False,且选择了一个文件,则返回一个文本类型的字符,表示该选中文件的完整路径。
- 若将MultiSelect设置为True,且选择了若干个文件,则返回一个以1为下限的一位数组,其数组元素为选中的所有文件的完整路径。
Application. GetOpenFilename方法仅能返回用户选择的文件的完整路径,而不能打开该文件。因而通常利用该方法获取用户指定的文件的完整路径,然后进行相应的操作。一般可以声明一个变量用以接受该方法的返回值。由于该方法的返回值可能为逻辑值、文本或者数组,因而可以声明一个变体型的变量。首先需要判断该变量所接受的返回值是否为False,若为False,则表示用户放弃选择,反之,可以根据参数MultiSelect的值对文本或者数组进行访 问,以获得选中的文件的完整路径。
码2
使用FileDialog对象打开文件对话框,并获取用户选择的文件。
Sub 选择文件2()
Dim fileName As String
With Application.FileDialog(msoFileDialogOpen)
.Filters.Add "Excel", "*.xlsx", 1
.Filters.Add "Excel 2003", "*.xls", 2
.FilterInd