Vbscript 如何循环浏览特定的工作簿?

Vbscript 如何循环浏览特定的工作簿?,vbscript,Vbscript,我有wb1,wb2,wb3。。wb10打开 我需要在wb1、wb5、wb6上执行一些命令。如果我使用工作簿集合,那么它将遍历所有工作簿 For Each book In Workbooks 另外,应用程序在VBScript中不可用 如何循环浏览特定的工作簿?两种方法 1.如果你知道诸如wordkbooks(0)、wordkbooks(5)等的顺序,请按索引查找 2.更一般的方法是用名字 `for idx=0 to count if strcomp(workbook(idx).name,"wb1

我有
wb1,wb2,wb3。。wb10
打开

我需要在
wb1、wb5、wb6
上执行一些命令。如果我使用
工作簿
集合,那么它将遍历所有工作簿

For Each book In Workbooks
另外,
应用程序
在VBScript中不可用

如何循环浏览特定的工作簿?

两种方法 1.如果你知道诸如wordkbooks(0)、wordkbooks(5)等的顺序,请按索引查找 2.更一般的方法是用名字

`for idx=0 to count
if strcomp(workbook(idx).name,"wb1")=0 or strcomp(workbook(idx).name,"wb2")=0 then
'execute some code
end if
next`
双向 1.如果你知道诸如wordkbooks(0)、wordkbooks(5)等的顺序,请按索引查找 2.更一般的方法是用名字

`for idx=0 to count
if strcomp(workbook(idx).name,"wb1")=0 or strcomp(workbook(idx).name,"wb2")=0 then
'execute some code
end if
next`

工作簿名称可用于直接访问它。例如:

objExcel.Workbooks("wb1").ActiveSheet.Cells(1, 1) = "This is in book 1"
objExcel.Workbooks("wb2").ActiveSheet.Cells(1, 1) = "This is in book 2"
是的,
应用程序
在VBScript中不可用。但是你可以自己创造它。它只是对Excel应用程序对象的引用

Set Application = CreateObject("Excel.Application")

工作簿名称可用于直接访问它。例如:

objExcel.Workbooks("wb1").ActiveSheet.Cells(1, 1) = "This is in book 1"
objExcel.Workbooks("wb2").ActiveSheet.Cells(1, 1) = "This is in book 2"
是的,
应用程序
在VBScript中不可用。但是你可以自己创造它。它只是对Excel应用程序对象的引用

Set Application = CreateObject("Excel.Application")

要在循环中处理打开工作簿的子集,您可以创建一个包含要处理的工作簿名称的循环,并在循环中限制处理,如下所示:

Set workbooksToProcess=CreateObject(“Scripting.Dictionary”)
workbooksToProcess。添加“wb1”,为True
workbooksToProcess。添加“wb5”,为True
workbooksToProcess。添加“wb1”,为True
对于xl.工作簿中的每本书
如果workbooksToProcess.Exists(book.Name),则
...
如果结束
下一个
或者使用名称创建一个数组,并按如下方式处理工作簿:

workbooksToProcess=Array(“wb1”、“wb5”、“wb6”)
对于workbooksToProcess中的每个名称
Set book=xl.工作簿(名称)
...
下一个

要在循环中处理打开的工作簿的子集,您可以使用要处理的工作簿的名称创建一个,并在循环中限制处理,如下所示:

Set workbooksToProcess=CreateObject(“Scripting.Dictionary”)
workbooksToProcess。添加“wb1”,为True
workbooksToProcess。添加“wb5”,为True
workbooksToProcess。添加“wb1”,为True
对于xl.工作簿中的每本书
如果workbooksToProcess.Exists(book.Name),则
...
如果结束
下一个
或者使用名称创建一个数组,并按如下方式处理工作簿:

workbooksToProcess=Array(“wb1”、“wb5”、“wb6”)
对于workbooksToProcess中的每个名称
Set book=xl.工作簿(名称)
...
下一个

您需要发布更多的代码。不知道您是如何引用应用程序或创建对象的。您需要发布更多的代码。不知道如何引用应用程序或创建对象。避免使用复杂的布尔表达式并处理循环问题。避免使用复杂的布尔表达式并处理循环问题。