ExcelVBA打开文件对话框之.GetOpenFilename 方法
ExcelVBA打开文件对话框之Application.GetOpenFilename 方法
Application.GetOpenFilename 方法
显示标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。
语法
表达式.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
表达式 一个代表 Application 对象的变量。
参数
返回值
Variant
【说明】
在 FileFilter 参数中传递的该字符串由文件筛选字符串对以及后跟的 MS-DOS 通配符文件筛选规范组成,中间以逗号分隔。每个字符串都在“文件类型”下拉列表框中列出。例如,下列字符串指定两个文件筛选 - 文本和加载宏:“文本文件 (*.txt)、*.txt、加载宏文件 (*.xla)、*.xla”。
要为单个文件筛选类型使用多个 MS-DOS 通配符表达式,需用分号将通配符表达式分开。例如:“Visual Basic 文件 (*.bas; *.txt)、*.bas; *.txt”。
如果省略 FileFilter,则此参数默认为“所有文件 (*.*),*.*”。
本方法返回选定的文件名或用户输入的名称。返回的名称可能包含路径说明。如果 MultiSelect 为 True,则返回值将是一个包含所有选定文件名的数组(即使仅选定了一个文件名)。如果用户取消了对话框,则该值为 False。
本方法可能更改当前驱动器或文件夹。
【示例】
此示例显示“打开”对话框,并将文件筛选设置为文本文件。如果用户选择了文件名,则此代码在消息框中显示该文件名。
Sub mytest_GetOpenFilename()
fileToOpen = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*", , "打开文件", , True)
'MsgBox TypeName(fileToOpen)
If TypeName(fileToOpen) = "Boolean" Then MsgBox "你选择了“取消”,将要退出程序": Exit Sub
For Each rr In fileToOpen
MsgBox rr
Next
End Sub
下面是选择多个文件后的情况
下面是添加了chdrive指定文件夹后测试,选择“取消”后的
===【我的学习笔记】===
◆ 我的学习之返回值解析:
单选时,用typeName(obj)进行测试,选了文件时返回:String 取消时返回:Boolean
多选时,用typeName(obj)进行测试,选了文件时返回:Variant() 取消时返回:Boolean
综上所述,我们可以用 if TypeName(obj)="Boolean" Then msgbox "你选择了“取消”,将退出程序":exit sub
◆我的学习之“本方法可能更改当前驱动器或文件夹”
这个说明的意思是,程序第一次打开的对话框是,“我的电脑>我的文档”,如果你找到了你要的文件夹进行的操作,在程序所在的文件没有关闭的情况下,如果再一次打开,就会指向你刚才打开过的文件夹,如果你想要在程序一打开就方便的找到你现在所在的文件的文件夹,可以用ChDrive开修改打开的最初的文件夹。
修改代码为
Sub mytest_GetOpenFilename()
Dim strPath
strPath = ThisWorkbook.Path
ChDrive strPath
fileToOpen = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*", , "打开文件", , True)
'MsgBox TypeName(fileToOpen)
If TypeName(fileToOpen) = "Boolean" Then MsgBox "你选择了“取消”,将要退出程序": Exit Sub
For Each rr In fileToOpen
MsgBox rr
Next
End Sub
===今天学习到此===
相关文章
- word2007在试图打开文件时遇到错误解决方法「建议收藏」
- VS无法打开源文件及无法打开链接库文件的解决方法
- java获取 /resources 目录资源文件的 6 种方法
- AMD Xilinx MPSoC 加载bit文件方法大全
- 【2】Anaconda下:ipython文件的打开方式,Jupyter Notebook中运行.py文件,快速打开ipython文件的方法!
- C/C++ Qt 基本文件读写方法
- JAVA以UTF-8导出CSV文件,用excel打开产生乱码的解决方法
- windows系统下上传ipa文件到开发者中心(appstore)的方法
- 数据库文件被.malox勒索病毒加密?看这篇文章,掌握最全数据恢复方法!
- 对比Linux删除文件不同方法效率
- Oracle删除archivelog文件的正确方法
- Linux处理大文件的方法(linux打开大文件)
- Linux查看日志文件的简单方法(linux打开log文件)
- Linux 下调整文件权限的方法(linux打开文件权限)
- 下文件Linux获取目录下文件的简单方法(linux获取目录)
- Linux下复制文件的简便方法(拷贝文件linux)
- 夹Linux查看当前文件夹的方法(linux显示当前文件)
- 渗透技巧——通过cmd上传文件的N种方法
- 轻松学会Linux系统下打开ZIP文件的方法(linux打开zip)
- Linux批量打开文件的简单方法(linux同时打开文件)
- 深入Linux:查看U盘文件的方法(linux查看u盘文件)
- Linux下打开TXT文件的方法(linux打开txt文件)
- Linux系统下使用PDF文件的方法(linux pdf 打开)
- 用ASP打开远端MDB文件的方法
- MMC提示不能打开文件SQLServerEnterpriseManager.MSC的解决方法
- php更改目录及子目录下所有的文件后缀的代码
- Win2008中SqlServer2008无法打开错误日志文件导致无法启动的解决方法
- vs2010无法打开项目文件的原因分析及解决方法
- fatalerrorLNK1104:无法打开文件“libc.lib”的解决方法
- python获取文件后缀名及批量更新目录下文件后缀名的方法
- IIS支持exe文件下载配置方法附图