如果需要对用户指定的文件进行操作,可以使用GetOpenFilename方法打开Excel内置的【打开】对话框,获取用户选择的文件名,此过程并不需要真正打开文件,示例代码如下。
Sub SelectFile()
Dim vntFilename As Variant
Dim i As Integer
vntFilename = Application.GetOpenFilename(Title:="浏览文件", _
FileFilter:="所有文件 (*.*),*.*,Excel文件 (*.xls*),*.xls*", _
FilterIndex:=2, MultiSelect:=True)
If IsArray(vntFilename) = True Then'判断是否为数组
With Sheet1
.Cells.ClearContents
.Cells(1, 1) = "文件名"
For i = 1 To UBound(vntFilename)
.Cells(i + 1, 1) = vntFilename(i)
Next i
End With
End If
End Sub
第4行代码使用Application对象的GetOpenFilename方法打开Excel内置的【打开】对话框,供用户选择文件并将选择的文件名赋值给vntFilename,其语法格式如下。
GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
各参数说