打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel VBA解读(85):用VBA代码打开工作簿 — Open方法
userphoto

2017.12.22

关注

 

要操作工作簿,要使用工作表分析和处理数据,都需要先打开工作簿。

在实际操作中,打开工作簿是再平常不过的操作了。双击桌面上的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代表Tab2代表逗号,3代表空格,4代表分号,5代表Nothing6代表自定义分隔符。

  • 参数Password可选,指定打开受保护工作簿时需要的密码。如果忽略该参数但是工作簿受密码保护,则会提示用户输入密码。

  • 参数Delimiter可选,如果打开的文件是文本文件且参数Format6,那么该参数指定用于作为分隔符的字符。例如,对于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检查指定名称的工作簿是否已被打开:




本文为原创文章,转载请注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel VBA] 认识VBA过程及开发自定义函数
Excel资源分享:Excel 2016高级VBA编程宝典
ExcelVBA编程实例(150例)
示例详解VBA的Split函数
Excel Application对象应用大全
linux命令终极系列(awk
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服