在多个打开的工作簿中select特定的Excel工作簿是可能的?

这是我面临的情况。 已经打开了3个工作簿,每个工作簿的名称是book1.xlsx,book2.xlsx,book3.xlsx

我试图select“book3.xlsx”的对象。

Dim ExcelApp Dim objWorkBook, objSheets Dim args, param Dim result Set ExcelApp = GetObject(,"Excel.Application") Set objWorkBook = ExcelApp.ActiveWorkbook Wscript.Echo(objWorkBook.name) 

预期的结果是book3.xlsx,但它显示book1.xlsx。 在多个打开的工作簿中select特定的Excel工作簿是可能的?

如果你想遍历不同的工作簿,使用这样的东西:

 Dim ExcelApp Dim objWorkbook, objSheets Dim args, param Dim result Set ExcelApp = GetObject(,"Excel.Application") For Each objWorkbook in ExcelApp.Workbooks Wscript.Echo(objWorkBook.Name) If objWorkbook.Name = "book3.xlsx" Then Exit For ' This is the workbook we wanted End If Next If objWorkbook.Name = "book3.xlsx" Then 'objWorkbook is set to book3, so do whatever you like Else ' No book3 found, throw up a message box to warn the user MsgBox "No Book3.xlsx file found" End If 

如果您只需要直接select工作簿(并且您确定它将存在):

 Dim ExcelApp Dim objWorkbook, objSheets Dim args, param Dim result Set ExcelApp = GetObject(,"Excel.Application") Set objWorkbook = ExcelApp.Workbooks("book3.xlsx") 'objWorkbook is set to book3, so do whatever you like with it