GetOpenFilename的基本用法
GetOpenFilename
'一、概述基本语法
Application.GetOpenFilename 方法
显示标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件,只是把打开文件名称返回程序。
'GetOpenFilename相当于Excel打开窗口,通过该窗口选择要打开的文件,并可以返回选择的文件完整路径和文件名。
语法:
'Application.GetOpenFilename(文件类型筛选规则,优先显示第几个类型的文件,标题,是否允许选择多个文件名)
表达式.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
表达式 一个代表 Application 对象的变量。
参数
|
名称 |
必选/可选 |
数据类型 |
说明 |
|
FileFilter |
可选 |
Variant |
一个指定文件筛选条件的字符串。 |
|
FilterIndex |
可选 |
Variant |
指定默认文件筛选条件的索引号,取值范围为 1 到由 FileFilter 所指定的筛选条件数目。如果省略该参数,或者该参数的值大于可用筛选条件数,则使用第一个文件筛选条件。 |
|
Title |
可选 |
Variant |
指定对话框的标题。如果省略该参数,则标题为“打开”。 |
|
ButtonText |
可选 |
Variant |
仅限 Macintosh。 |
|
MultiSelect |
可选 |
Variant |
如果为 True,则允许选择多个文件名。如果为 False,则只允许选择一个文件名。默认值为 False。 |
返回值
Variant
说明
如果点击了取消,返回false
'二、示例
'1、打开文件类型(word和excel)
在 FileFilter 参数中传递的该字符串由文件筛选字符串对以及后跟的 MS-DOS 通配符文件筛选规范组成,中间以逗号分隔。每个字符串都在“文件类型”下拉列表框中列出。例如,下列字符串指定两个文件筛选 - 文本和加载宏:“文本文件 (*.txt)、*.txt、加载宏文件 (*.xla)、*.xla”。
要为单个文件筛选类型使用多个 MS-DOS 通配符表达式,需用分号将通配符表达式分开。例如:“Visual Basic 文件 (*.bas; *.txt)、*.bas; *.txt”。
如果省略 FileFilter,则此参数默认为“所有文件 (*.*),*.*”。
Sub test1()
Dim fileToOpen
fileToOpen = Application.GetOpenFilename("文本文件 (*.txt)、*.txt、加载宏文件 (*.xla)、*.xla ")
MsgBox "Open " & fileToOpen
End Sub
注:如果点击了取消,返回false
2.打开多种文件类型,默认显示word文件
本方法返回选定的文件名或用户输入的名称。返回的名称可能包含路径说明。如果 MultiSelect 为 True,则返回值将是一个包含所有选定文件名的数组(即使仅选定了一个文件名)。如果用户取消了对话框,则该值为False。
Sub test2()
Dim fileToOpen
fileToOpen = _
Application.GetOpenFilename("Excel2003文件,*.xls,Word文件,*.doc,文本文件,*.txt", 2, _
"打开您想查询的文件")
MsgBox fileToOpen
End Sub
3.选择多个文件,返回数组
Sub test3()
Dim arr
arr = _
Application.GetOpenFilename("Excel2010文件,*.xlsx,Word文件,*.docx,文本文件,*.txt", _
3, MultiSelect:=True)
MsgBox arr(0)
End Sub
4.改变窗口默认路径
ChDrive 语句 改变当前的驱动器。
ChDrive drive
必要的 drive 参数是一个字符串表达式,它指定一个存在的驱动器。如果使用零长度的字符串 (""),则当前的驱动器将不会改变。如果 drive 参数中有多个字符,则 ChDrive 只会使用首字母。 在 Macintosh 中, ChDrive 将当前文件夹改变到指定驱动器的根文件夹。
ChDir 语句 改变当前的目录或文件夹。
ChDir path
必要的 path 参数是一个字符串表达式,它指明哪个目录或文件夹将成为新的缺省目录或文件夹。path 可能会包含驱动器。如果没有指定驱动器,则 ChDir 在当前的驱动器上改变缺省目录或文件夹。
ChDir 语句改变缺省目录位置,但不会改变缺省驱动器位置。例如,如果缺省的驱动器是 C,则下面的语句将会改变驱动器 D 上的缺省目录,但是 C 仍然是缺省的驱动器:
ChDir "D:\TMP"
在 Power Macintosh 中,默认驱动器总是改为在 path 语句中指定的驱动器。完整路径指定由卷标名开始,相对路径由冒号 (:) 开始. ChDir 可以辨认路径中指定的别名:
ChDir "MacDrive:Tmp" ' 在 Macintosh 中。
注意 当改变相对路径时,在 Microsoft Windows 和 Macintosh 中使用不同符号:
ChDir ".." ' 在 Microsoft Windows 中,上移一层目录.
ChDir "::" ' 在 Macintosh 中,上移一层目录。
Sub test4()
Dim fileToOpen
ChDrive "E"
ChDir ThisWorkbook.Path
fileToOpen = Application.GetOpenFilename("Excel2003文件,*.xls,Word文件,*.doc,文本文件,*.txt", 1)
MsgBox fileToOpen
End Sub
GetOpenFilename的基本用法的更多相关文章
- GetOpenFilename的基本用法(文件夹实操)
Sub 数据导入()Dim f, arr, i&, j&, k, m%, n%, p%, sh As Workbookf = Application.GetOpenFilename(f ...
- Qt 打开文件的默认路径 QFileDialog::getOpenFileName()
为了说明QFileDialog::getOpenFileName()函数的用法,还是先把函数签名放在这里: QString QFileDialog::getOpenFileName ( ...
- Qt学习--部件深入--烤猪蹄
1,进程条--向用户显示程序的当前状态,向用户提示该任务需要多长时间才能够完成. Qt-ProgressBar创建进程条,QProgressBar,为了使进程条担当起进程指示功能,需要执行定义进程条的 ...
- Qt__文件打开保存对话框(QFileDialog)
转自豆子空间 使用QFileDialog有两种方法,一种是比较简单的使用"静态函数法",另一种是可以自定义各个细节的"构造函数法". 静态函数法 修改MainW ...
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
随机推荐
- gcc将c源文件中的宏展开
1: sudo gcc -P -I. -I../instrument/stubs -I../instrument/stubs -I../ -E ctrl_xfer32.cc -o preprocess ...
- Python的序列化和反序列化
序列化是将dict---->str 反序列化是将str---->dict import jsonresult1 = json.dumps({'a': 1, 'b': 2}) #序列化res ...
- winform 窗体拖动
winform 由于自带的界面太丑,有时候就想着去掉标题栏,自己写,自己做UI 但是发现没法拖动了,或者,有时候我们也想让整个窗体都能够随着鼠标进行拖动,来来来,看下面 #region 让窗口可以随意 ...
- SB般的“WE战队”输掉了比赛
事实再一次证明,对于LOL这种游戏,国服选手是根本就不能有一点期待的, 国服环境太好了,赢了可以吹,输了不能骂,自信心极度膨胀,估计WE俱乐部都没有个心理咨询师, 下岗了还可以再卖卖脸,卖卖饼, 国服 ...
- SharpDx
layout category title permalink posts_by_category SharpDX SharpDX 系列 /post/sharpdx
- 字符串利用%02d将月份前加0
i = 20190104 a = 2019 b = 1 c = 4 s = "%04d-%02d-%02d" % (a, b, c)
- wireshark抓包总结
过滤规则: ip.src == 源地址 and http(协议)
- vue app外卖(5) 使用swiper 进行图片轮播
1.查看swiper 文档 https://www.swiper.com.cn/usage/index.html 2. 下载 npm install --save swiper 3.在页面引入 imp ...
- c 语言函数分析
第一个参数为指向线程标识符的指针. 第二个参数用来设置线程属性. 第三个参数是线程运行函数的起始地址. 最后一个参数是运行函数的参数. result = pthread_create(&tid ...
- Java判断链表是否为回文链表
请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 思路:1.通过快慢指针,来遍历链表 ...