分享

Excel VBA实例教程 #040:工作簿的引用方法

 闲读古书 2011-05-10
VBA中,在不同的工作簿之间转换需要指定引用的工作簿,通常有下面几种方法。

1、使用工作簿的名称

工作簿名称是指Excel文件的文件名,可以使用Workbooks集合引用方式来引用工作簿,如下面的代码所示。
  1. Sub WbPath ()
  2.     MsgBox "名称为:" & Workbooks("工作簿的引用方法.xls").Path
  3. End Sub
复制代码
代码解析:
WbPath过程显示工作簿“工作簿的引用方法”的路径。应用于Workbook对象的Path属性将完整路径返回给应用程序,语法如下:
expression.Path
参数expression是必需的,一个有效的对象。
运行WbPath过程结果如图1所示。


图 1 返回工作簿完整路径

2、使用工作簿的索引号

工作簿索引号是指工作簿打开的顺序,Excel根据工作簿打开的顺序以1开始进行编号。下面的代码显示应用程序打开的第一个工作簿的名称。
  1. Sub WbName()
  2.     MsgBox "第一个打开的工作簿名字为:" & Workbooks(1).Name
  3. End Sub
复制代码
代码解析:
WbName过程显示应用程序打开的第一个工作簿的名称。应用于Workbook对象的Name属性返回对象的名称,语法如下:
expression.Name
参数expression是必需的,一个有效的对象。
运行WbName过程结果如图 2所示。


图2 返回工作簿名称

如果需要返回包含完整路径的工作簿名称则使用Workbook对象的FullName属性,如下面的代码所示。
  1. Sub WbFullName()
  2.     MsgBox "包括完整路径的工作簿名称为:" & Workbooks(1).FullName
  3. End Sub
复制代码
WbFullName过程显示应用程序打开的第一个工作簿的完整路径和名称。FullName属性返回对象的名称,包括其磁盘路径的字符串,此属性等价于在Path属性后加上当前文件系统的分隔符,然后加上Name属性。

运行WbFullName过程结果如图 3所示。


图 3 返回包含完整路径的工作簿名称

3、使用ThisWorkbook

使用ThisWorkbook代表当前宏代码运行的工作簿,如下面的代码所示。
  1. Sub WbClose()
  2.     ThisWorkbook.Close SaveChanges:=False
  3. End Sub
复制代码
代码解析:
WbThis过程使用Close方法关闭当前宏代码运行的工作簿,不保存对工作簿的任何更改。关于应用于Workbook对象的Close方法请参阅技巧45-1。
注意 本属性仅可在 Microsoft Excel内使用。不能使用此属性访问任何其他应用程序的工作簿。

4、使用ActiveWorkbook

使用ActiveWorkbook代表活动窗口(最上面的窗口)的工作簿,如下面的代码所示。
  1. Sub WbActive()
  2.     MsgBox "当前活动工作簿名字为:" & ActiveWorkbook.Name
  3. End Sub
复制代码
代码解析:
WbActive过程显示活动工作簿的名称,ActiveWorkbook属性返回一个Workbook对象,该对象代表活动窗口(最上面的窗口)的工作簿。如果没有打开任何窗口或者活动窗口为信息窗口或剪贴板窗口,则返回 Nothing。

运行WbActive过程结果如图 4所示。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多