赞
踩
要操作工作簿,要使用工作表分析和处理数据,都需要先打开工作簿。
在实际操作中,打开工作簿是再平常不过的操作了。双击桌面上的Excel快捷方式图表,或者点击桌面左下角开始菜单,找到Excel程序,单击即可打开工作簿。
在VBA中,我们可以使用Workbooks对象的Open方法打开工作簿,其语法为:
Workbooks对象.Open(FileName,[UpdateLinks],[ReadOnly],[Format],[Password],[WriteResPassword],[IgnoreReadOnlyRecommended],[Origin],[Delimiter],[Editable],[Notify],[Converter],[AddToMru],[Local],[CorruptLoad])
说明:参数FileName必需,指定一个字符串,代表要打开的工作簿文件名。
参数UpdateLinks可选,指定文件中外部引用(链接)的方式。如果忽略该参数,那么将提示用户指定如何更新链接。指定值为0将不更新外部引用(链接),指定值为1将更新外部引用(链接)但不更新远程引用(链接),指定值为2将更新远程引用(链接)但不更新外部引用(链接),指定值为3将更新外部引用(链接)。
参数ReadOnly可选,如果设置其值为True,将在只读模式下打开工作簿。
参数Format可选,如果打开的是文本文件,那么该参数指定分隔符;如果忽略该参数,那么使用当前分隔符。可以指定下列值来确定文件的分隔符:1代表Tab,2代表逗号,3代表空格,4代表分号,5代表Nothing,6代表自定义分隔符。
参数Password可选,指定打开受保护工作簿时需要的密码。如果忽略该参数但是工作簿受密码保护,则会提示用户输入密码。
参数Delimiter可选,如果打开的文件是文本文件且参数Format是6,那么该参数指定用于作为分隔符的字符。例如,对于tab键使用Chr(9),对于逗号使用“,”,对于分号使用“;”,对于自定义字符串,仅使用其第一个字符。
其他参数使用不多,可参见Excel VBA帮助。
示例代码1:基于现有工作簿创建新工作簿
下面的代码打开工作簿excelvba81.xlsm。
Sub testWBOpen()
Workbooks.OpenFilename:='I:\09. Excel\01. 解读Excel VBA\Excel VBA解读(81):工作表事件示例\excelvba81.xlsm'
End Sub
打开后的工作簿excelvba81.xlsm成为当前工作簿。
示例代码2:将打开的工作簿赋值给变量
下面的代码将打开的工作簿赋给对象变量。
Sub testWBOpen1()
Dim wb As Workbook
Set wb = Workbooks.Open(Filename:='I:\09. Excel\01. 解读Excel VBA\excelvbaSample.xlsm')
End Sub
打开工作簿excelvbaSample.xlsm并将该工作簿赋值给变量wb。在代码中,可以直接使用对象变量wb来操作该工作簿。
示例代码3:测试是否已经打开了工作簿
下面的自定义函数blnWBOpen检查指定名称的工作簿是否已经被打开。
代码首先将对工作簿的引用赋值给对象变量,然后检查是否赋值成功。如果找到指定的工作簿,blnWBOpen函数返回True,否则返回False。
代码使用On Error Resume Next语句确保在没有找到指定的工作簿时不会发生运行时错误。
使用下面的代码测试blnWBOpen函数:
下面的自定义函数blnWBOpen1也可以用来检查指定名称的工作簿是否已被打开:
还可以使用下面的自定义函数blnWBOpen2检查指定名称的工作簿是否已被打开:
本文为原创文章,转载请注明出处。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。