从外壳打开的 Excel 书籍看不到其他 Excel 文件已打开



当我使用 vbs 脚本打开文件 Book1.xlsm 时,它没有看到 Book2.xlsm 已经打开,这是一个问题,因为我想在 Book1 中运行的宏 1 会根据它是否打开而做一些不同的事情。是否有一行代码可以在 shell 或 vba 中运行以使 excel 修复此错误?

以下是 vbs 文件中的代码:


Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts=False
Set wb = objExcel.Workbooks.Open("C:/Test/Book1.xlsm")
objExcel.Application.Run "Book1.xlsm!Macro1"

您可以检查所有打开的工作簿,看看名称是否与"Book2.xlsm"匹配,如果是,请执行某些操作。

For Each Workbook in Workbooks
If Workbook.Name = "Book2.xlsm" Then
Debug.Print "Do something"
Else
Debug.Print "Do something else"
End If
Next Workbook

最新更新