引言
对于文件全路径,我们打开文件的用处很大。在workbooks.open方法以及getobject方法都会用到文件的全路径。
以往的方式都是
fname = "F:\自编小程序\转承台.xlsm"
’注意:这里为工作簿路径及文件名,即fullname。”路径+文件名+后缀“
Set wb = Workbooks.Open(fname)
或者
fname = "F:\自编小程序\转承台.xlsm"
’注意:这里为工作簿路径及文件名,即fullname。
Set wb = getobject(fname)
这里,文件的全路径都需要手动预先定义。如果修改路径,就需要修改代码。
那我们想了,有没有一种办法,在运行程序之前可以让使用者选择路径。这样子增加了人机的交互性和程序的适用性。
这节课我们就将如何弹出对话框,获取文件全路径。
GetOpenFilename 方法
➜功能:显示标准的“打开”对话框,并获取文件全路径,而不真正打开任何文件。
➜语法:Application.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
参数及说明如下表所示:
名称 说明
FileFilter 可选参数,代表指定文件筛选条件的字符串。如果省略该参数,默认为:“所有文件(*.*),*.*”。
FilterIndex 可选参数,指定默认文件筛选条件的索引号,取值范围为 1 到由 FileFilter 所指定的筛选条件数目。如果省略该参数,或者该参数的值大于可用筛选条件数,则使用第一个文件筛选条件。
Title 可选参数,指定对话框的标题。如果省略该参数,则标题为“打开”。
ButtonText 可选参数,仅用于 Macintosh 机器。
MultiSelect 可选参数,如果为 True,则允许选择多个文件名。如果为 False,则只允许选择一个文件名。默认值为 False。如果允许多选,则结果为一个数组。后面会演示。
➜实例1:单选文件
Sub 汇总()
Dim ptsht$
pthsht = Application.GetOpenFilename("excel Files(*.xl*),*.xl*", , "请选择文件", , False)
End Sub
运行程序后,出现以下界面
➜实例2:多选文件
Sub 汇总()
Dim ptsht$
pthsht = Application.GetOpenFilename("excel Files(*.xl*),*.xl*", , "请打开文件", , True)
End Sub
运行程序之后,出现以下界面,可以多选。
好了,这节课就分享到这里,稍后还会分享获取文件全路径的另外两种方法。让你摆脱修改路径代码的苦恼。
技术交流,软件开发,欢迎微信沟通: