动态激活或选择工作表

时间:2010-05-25 19:00:19

标签: javascript excel

我在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”)。激活;
但没有任何效果。关于如何实现这一点的任何想法。感谢。

拉​​维

2 个答案:

答案 0 :(得分:1)

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

Sheets("Sheet2").Select

答案 1 :(得分:0)

以下适用于我:

Application.Sheets("Sheet2").Activate