我在javascript中使用vbs和ExcelXML动态创建一个excel文件。这样的事情。

acdbCon.OpenConnection();
rs = acdbCon.GetRecordSet(GetQryABC(a,b,c));
workbookObj = new WorkbookXML("abc");
xmlBody.append(workbookObj.AddWorkbook().join(""));
xmlBody.append(workbookObj.AddStyleSheet().join(""));
abcObj = new abcXML(xmlBody, rs, PAGE_HEADER, PAGE_SUB_HEADER,.,.,.);
xmlBody = abcObj .AddSheet(1, "sheet1");
xmlBody = abcObj .AddBlankSheet(2, "sheet2");
xmlBody = abcObj .AddSheet(3, "sheet3");

xmlBody.append(workbookObj.EndWorkbook());
acdbCon.CloseConnection();
var fileNameDate = new Date();
var fileName=tpInfo.GetDLN() + "_ABC_" + (fileNameDate.getMonth()+1) + "_" + fileNameDate.getDate() + "_" + fileNameDate.getYear();
var fh = fso.CreateTextFile("c:\\doc\\" + fileName + ".xls", true);
document.getElementById("export_msg").innerHTML="File Exported to:   c:\\doc\\" + fileName + ".xls";
fh.WriteLine(xmlBody.toString());
fh.Close();
var objExcel;
objExcel = new ActiveXObject("Excel.Application");
objExcel.Workbooks.Open('c:\\doc\\' + fileName + '.xls',false,false);
var wkSh = objExcel.Workbooks(fileName + '.xls').Worksheets("Sheet1");
var rcWkSh = objExcel.Workbooks(fileName + '.xls').Worksheets("Sheet2");
var rcWkSh2 = objExcel.Workbooks(fileName + '.xls').Worksheets("Sheet3");


创建并保存Excel后,便可以打开以进行查看。我的要求是在打开工作表时动态激活/选择/显示我选择的任何工作表。假设用户希望在打开工作簿时激活并选择sheet3。

我尝试了以下
    objExcel.Workbooks(fileName +'.xls')。sheets(1).activate;
    objExcel.Workbooks(fileName +'.xls')。sheets(1).select();
    objExcel.Workbooks(fileName +'.xls')。sheets(1).Activate;
    objExcel.Workbooks(fileName +'.xls')。Worksheets(“ Sheet3”)。Activate;
但没有任何效果。关于如何实现此目标的任何想法。谢谢。

拉维

最佳答案

使用Excel Macro记录器并在自动化脚本中执行您想要执行的操作,然后复制记录器生成的代码并在脚本中使用它。

Sheets("Sheet2").Select

10-06 01:34