Dim File As Variant
Dim aFile As Variant '数组,提取文件名fileName时使用
'打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant
Dim i As Integer
File = Application.GetOpenFilename("Excel 文件,*.xls;*.xlsx;*.xlsm")
'调用Windows打开文件对话框
If File <> False Then '如果未按“取消”键
aFile = Split(File, "\") '以“\”切割完整的文件路径
FileName = aFile(UBound(aFile)) '数组的最后一个元素为文件名(含后缀名)
FullName = aFile(0)
For i = 1 To (UBound(aFile) - 1) '“UBound(aFile) - 1”即不包括数组的最后一个元素
FullName = FullName & "\" & aFile(i) '最终获取完整路径
Next
Else
End
End If
MsgBox "完整路径是:" & FullName
MsgBox "文件名是:" & FileName
代码执行后效果如下
1、
2、
3、