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

是否有可能在WSH VBScript中的工作簿(名称引用)切换工作表,如果是这样,我将如何做?

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

以下是我如何打开工作簿:

xlsFile = path & "\xml-sitemap.xls" Set objExcel = WScript.CreateObject("Excel.Application") objExcel.Workbooks.open(xlsFile) 

这将做到这一点(根据Ekkehard.Horner的评论修改)

 Dim ws Dim wb xlsFile = path & "\xml-sitemap.xls" Set objExcel = WScript.CreateObject("Excel.Application") objExcel.Workbooks.open(xlsFile) Set wb = objExcel.ActiveWorkbook 'the ActiveWorkbook will refer to the opened workbook Set ws = wb.Worksheets("Version Control") 'ws is a Worksheet object 

当从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