MsgBox(ActiveWorkbook) – “对象不支持此属性或方法”
美好的一天。
这可能很简单,但我只想知道。 在我的表格的第一个子表格中,我在代码的最开始部分放置了以下行:
MsgBox (ActiveWorkbook)
这样的行通常会提示工作簿处于活动状态(如电话所示)。 当放置在项目的其他部分,当然有效,但不在这里。 相反,这个错误出现:
Run-time error '438': Object doesn't support this property or method
所以,我只想对这个问题有更多的了解。 谢谢。
PS。 我将这行代码放在一个简单的button_Click()。
再次感谢。
我不得不质疑“这样的行通常会促使工作簿激活(如电话所示)”断言。
MsgBox
将Variant
作为参数,但是可以成功地将其转换为String
( MsgBox$
几乎总是更好的做法)。
ActiveWorkbook
返回一个Workbook
对象,并且Workbook
不能被转换为一个String
。 我不记得我的头顶是什么Workbook
的默认属性,但我知道它不能转换成一个String
。 如果你想获得Workbook
的名字 ,你需要这个:
MsgBox$ ActiveWorkbook.Name
你需要的地方, Form
, Class
, Module
,…任何地方。
更好的做法是获得对活动Workbook
的引用 ,并在整个代码中使用它。 请参阅如何避免在Excel VBAmacros中使用select 。