我想获取工作簿名称。当我尝试直接使用Workbook的Name属性时,为什么VBA会返回错误,如下所示:
MsgBox "workbook name = " & Workbook.Name
编译器说:未声明变量。工作簿是一个对象。为什么我必须声明一个与之关联的变量?
这些工作:
MsgBox "workbook name = " & ThisWorkbook.Name
MsgBox "workbook name = " & ActiveWorkbook.Name
为什么我必须直接使用应用程序属性(ThisWorkbook和ActiveWorkbook)而不是Workbook.Name?
答案 0 :(得分:3)
Workbook
不是对象
Workbook
是代表所有工作簿的class
,
(更多详情:http://www.functionx.com/vbaexcel/topics/workbooks.htm)
和ThisWorkbook(or ActiveWorkbook)
是instance
类没有属性值(静态除外).i.e。换句话说,您无法通过instance variables
访问class
。
我希望你明白。