已打开Excel工作簿中的WSH VBScript切换工作表

已打开Excel工作簿中的WSH VBScript切换工作表,excel,vbscript,wsh,Excel,Vbscript,Wsh,是否可以在WSH VBScript(通过名称引用)中切换工作簿中的工作表?如果可以,我将如何切换 这将在已打开Excel文件的脚本中使用。我想访问名为“版本控制”的工作表 以下是我打开工作簿的方式: xlsFile = path & "\xml-sitemap.xls" Set objExcel = WScript.CreateObject("Excel.Application") objExcel.Workbooks.open(xlsFile) 这样就可以了(根据Ekkehard.H

是否可以在WSH VBScript(通过名称引用)中切换工作簿中的工作表?如果可以,我将如何切换

这将在已打开Excel文件的脚本中使用。我想访问名为“版本控制”的工作表

以下是我打开工作簿的方式:

xlsFile = path & "\xml-sitemap.xls"
Set objExcel = WScript.CreateObject("Excel.Application")
objExcel.Workbooks.open(xlsFile)
这样就可以了(根据Ekkehard.Horner的评论进行修订)

这样就可以了(根据Ekkehard.Horner的评论进行修订)


从VBScript自动化Excel时,Excel提供给VBA代码的全局对象丢失。因此,最小的“使用工作表”脚本应该如下所示:

Option Explicit

Dim sFSpec : sFSpec     = "P:\athto\your.xls"
Dim oExcel : Set oExcel = CreateObject("Excel.Application")
Dim oWB    : Set oWB    = oExcel.Workbooks.Open(sFSpec)
Dim oWS, sWSName

Set oWS = oWB.Worksheets(1)
sWSName = oWS.Name
WScript.Echo 0, sWSName

Set oWS = oWB.Worksheets(2)
WScript.Echo 1, oWS.Name

Set oWS = oWB.Worksheets(sWSName)
WScript.Echo 2, oWS.Name

oExcel.Quit

从VBScript自动化Excel时,Excel提供给VBA代码的全局对象丢失。因此,最小的“使用工作表”脚本应该如下所示:

Option Explicit

Dim sFSpec : sFSpec     = "P:\athto\your.xls"
Dim oExcel : Set oExcel = CreateObject("Excel.Application")
Dim oWB    : Set oWB    = oExcel.Workbooks.Open(sFSpec)
Dim oWS, sWSName

Set oWS = oWB.Worksheets(1)
sWSName = oWS.Name
WScript.Echo 0, sWSName

Set oWS = oWB.Worksheets(2)
WScript.Echo 1, oWS.Name

Set oWS = oWB.Worksheets(sWSName)
WScript.Echo 2, oWS.Name

oExcel.Quit

使用VBScript,可以返回扩展名为“.name”的Excel电子表格选项卡的名称

Dim excelPath, objExcel, oData, Excel_tab

excelPath = "C:\Users\user.name\Desktop\file.xls"
Set objExcel = CreateObject("Excel.Application")
Set oData = objExcel.Workbooks.Open(excelPath)
Excel_tab = objExcel.ActiveWorkbook.Worksheets(1).name
msgbox(Excel_tab)

objExcel.quit

使用VBScript,可以返回扩展名为“.name”的Excel电子表格选项卡的名称

Dim excelPath, objExcel, oData, Excel_tab

excelPath = "C:\Users\user.name\Desktop\file.xls"
Set objExcel = CreateObject("Excel.Application")
Set oData = objExcel.Workbooks.Open(excelPath)
Excel_tab = objExcel.ActiveWorkbook.Worksheets(1).name
msgbox(Excel_tab)

objExcel.quit