0
点赞
收藏
分享

微信扫一扫

VBA中的GetOpenFilename 方法

VBA中使用GetOpenFilename 方法,弹出文件选择框、取得文件全路径与文件名。

Sub vab_GetOpenFilename()
'GetOpenFilename相当于Excel打开窗口,通过该窗口选择要打开的文件,并可以返回选择的文件完整路径和文件名。
'显示标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。
'语法:
'表达式.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
'表达式 : 一个代表 Application 对象的变量。
'说明:
'Application.GetOpenFilename("文件类型筛选规则(就是说明)","优先显示第几个类型的文件","标题","是否允许选择多个文件名")
'参数解析:
'FileFilter: 一个指定文件筛选条件的字符串
'FilterIndex:指定默认文件筛选条件的索引号,取值范围为 1 到由 FileFilter 所指定的筛选条件数目。如果省略该参数,或者该参数的值大于可用筛选条件数,则使用第一个文件筛选条件。
'Title:指定对话框的标题。如果省略该参数,则标题为“打开”。
'ButtonText: 仅限 Macintosh
'MultiSelect:如果为 True,则允许选择多个文件名。如果为 False,则只允许选择一个文件名。默认值为 False
'注意:以上参数都是可选参数,数据类型均为Variant。
  Dim info
  info = Application.GetOpenFilename( _
  FileFilter:="excel文件(*.xls),*.xls,excel文件(*.xlsx),*.xlsx,Excel 启用宏的工作簿(*.xlsm),*.xlsm", _
  FilterIndex:=2, _
  Title:="请选择文件", _
  MultiSelect:=True)
  If TypeName(info) = "boolean" Then
    '如果没有做任何选择,退出程序
    Exit Sub
  Else
    '获取 选择的文件完整路径和文件名
    Dim index As Integer
    For index = 1 To UBound(info)
      '循环获取选择的文件的完整路径
      MsgBox info(index)
    Next
  End If
End Sub
举报

相关推荐

0 条评论