VBA中Thisworkbook.name和Activeworkbook.name之间的区别

Har*_*han 11 excel vba excel-vba

Thisworkbook和ActiveWorkbook之间有什么区别吗?

示例代码:

  Sub workbook_name()
     MsgBox Thisworkbook.name
  End Sub



 Sub active_name()
     MsgBox Activeworkbook.name
  End Sub
Run Code Online (Sandbox Code Playgroud)

两者都会返回相同的输出,

是否有任何其他情况我们必须使用ActiveWorkbook不起作用的ThisWorkbook

Roh*_*han 14

Activeworkbook.name 用于从n个不同数量的已打开工作簿中获取活动工作簿的名称.

Thisworkbook.name 用于获取在该工作簿的模块中编写或存储代码的工作簿的名称.

例如,如果您正在编写模块或工作簿表中的代码,A那么无论哪个是活动工作簿Thisworkbook.name都会返回A

  • 为了进一步澄清这一点 - "ThisWorkbook"指的是在该时间点执行的代码所在的工作簿.这就是我认为你在答案中所说的但是认为它可以更清楚一些.+1 (5认同)