我在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')。工作表(“Sheet3”)。激活;
但没有任何效果。关于如何实现这一点的任何想法。感谢。
拉维
答案 0 :(得分:1)
使用Excel宏录制器并执行您要在自动化脚本中执行的操作,然后复制录制器生成的代码并在脚本中使用它。
Sheets("Sheet2").Select
答案 1 :(得分:0)
以下适用于我:
Application.Sheets("Sheet2").Activate