auto_open / workbook_open用于其他文件,而不是这个文件

时间:2012-10-31 10:21:05

标签: excel-vba excel-2010 vba excel

我知道当你在其中一个模块中打开包含它的文件时,auto_open / workbook_open(后者=一个事件)就会运行。

我想在file1.xlsm的模块中放置一些东西,当在Excel中打开任何其他文件(.xls / .xlsx / .xlsm)时执行。如果Excel和file1.xlsm已经打开。

是否存在类似“sub any_other_workbook_open”的内容? (只是我在命名时的拙劣尝试)

谢谢!

1 个答案:

答案 0 :(得分:1)

如果另一个工作簿是由file1.xslm中的过程打开的,这非常简单,如果没有,您可以随时准时检查是否存在使用此代码打开的任何其他工作簿:

Dim w as Object
Dim bOther as Boolean

For Each w in Application.Workbooks

   If w.Name<>ThisWorkbook.Name then bOther=True

Next w

If bOther=True then Call [Your Sub]

嗯,这只是一种方式,还有很多其他方式取决于你的目标!