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的基本用法的更多相关文章

  1. GetOpenFilename的基本用法(文件夹实操)

    Sub 数据导入()Dim f, arr, i&, j&, k, m%, n%, p%, sh As Workbookf = Application.GetOpenFilename(f ...

  2. Qt 打开文件的默认路径 QFileDialog::getOpenFileName()

    为了说明QFileDialog::getOpenFileName()函数的用法,还是先把函数签名放在这里:   QString QFileDialog::getOpenFileName (       ...

  3. Qt学习--部件深入--烤猪蹄

    1,进程条--向用户显示程序的当前状态,向用户提示该任务需要多长时间才能够完成. Qt-ProgressBar创建进程条,QProgressBar,为了使进程条担当起进程指示功能,需要执行定义进程条的 ...

  4. Qt__文件打开保存对话框(QFileDialog)

    转自豆子空间 使用QFileDialog有两种方法,一种是比较简单的使用"静态函数法",另一种是可以自定义各个细节的"构造函数法". 静态函数法 修改MainW ...

  5. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  6. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  7. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  8. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  9. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

随机推荐

  1. Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境

    目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...

  2. centos 时区设置初认识

    由于一些需要,我租用了一个海外服务器,并开始了我的centos之旅. 由于之前一直用虚拟机,而且在国内,所以不需要考虑时区的问题,但是现在,这个服务器是在海外的,所以就必须考虑时区的问题了.更何况我的 ...

  3. 【HDOJ】 P2054 A == B ?

    题目意思不太多解释,具体WA的情况可以举出一下特例 0 +0 0.00 0 +1 -2 +1.00 -1.00 +.2 -.2 .0 .1 等等 不过可以发现对上面的数据处理,可以分为以下几步 1.找 ...

  4. 2019-4-26-VisualStudio-开发文件自定义工具单文件生成工具

    title author date CreateTime categories VisualStudio 开发文件自定义工具单文件生成工具 lindexi 2019-04-26 10:49:32 +0 ...

  5. linux 两个进程通过 共享内存 通信例子

    例子1:两个进程通过共享内存通信,一个进程向共享内存中写入数据,另一个进程从共享内存中读出数据 文件1 创建进程1,实现功能,打印共享内存中的数据 #include <stdio.h> # ...

  6. GarsiaWachs算法

    解决石子问题: 题目描述如下: 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1].问安排怎样的合并顺序,能够使得 ...

  7. vagrant ssh try

    Vagrantfile add Vagrant.configure("2") do |config| config.vm.network "private_network ...

  8. JavaScript ---- 原型,原型链(什么是原型)

    和“闭包”一样,“原型”这个概念也经常被提起. 其实这个“概念”应该和构造函数,对象放在一起讲,但是由于时间关系,先把这部分抽取出来讲.再讲这个概念时我们先大致了解下JavaScript中的“对象”. ...

  9. lua数据类型与变量

    Lua数据类型与变量 Lua中有  8个基本类型分别为: nil.boolean.number.string.userdata.function.thread和 table. lua变量三种类型:全局 ...

  10. NX二次开发-更改图纸尺寸内容(编辑文本)uc5566

    #include <uf.h> #include <uf_drf.h> #include <uf_obj.h> #include <uf_part.h> ...