在VBA中,Thisworkbook.name和Activeworkbook.name有什么区别?

11

Thisworkbook 和 ActiveWorkbook 之间有什么区别。

示例代码:

  Sub workbook_name()
     MsgBox Thisworkbook.name
  End Sub



 Sub active_name()
     MsgBox Activeworkbook.name
  End Sub

两者将返回相同的输出,

是否有其他情况需要特别使用 ThisWorkbook,而 ActiveWorkbook 不起作用?


4
ThisWorkBook 对象是指代码所在的工作簿。ActiveWorkBook 对象是指当前处于活动状态的工作簿。 - 0m3r
感谢您的快速回复,Om3r。 - hackwithharsha
1个回答

22

Activeworkbook.name 用于从 n 个打开的工作簿中获取活动工作簿的名称。

Thisworkbook.name 用于获取代码所编写或存储的工作簿中的名称,即该工作簿的模块。例如,如果您在工作簿 A 的模块或工作表中编写代码,则无论活动工作簿是哪个,Thisworkbook.name 都将返回 A


10
进一步澄清一下, ThisWorkbook 指的是当前代码所在的工作簿。我认为这就是你在回答中所说的,但是我觉得可以再明确一些。+1 - SierraOscar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接