1

ActiveXオブジェクトを使用してExcelファイルで使用可能なすべてのシート名のリストを取得するにはどうすればよいですか?

このコードがシートを返すことは知っていますExcel.ActiveWorkBook.Sheets...しかし、これらのシートの名前を配列で取得するにはどうすればよいですか?

function getTabs()
{

    var w =new ActiveXObject("Excel.Application");                      
    var book = w.Workbooks.Open(excelFile);  
    alert(book.name); //here I get the filename of my xls file and it displays ok
    var ExcelSheet= book.Sheets;
    alert(ExcelSheet); //This alerts to 'undefined' 

    w.Quit();
    w=null;             

}

これは今の私のコードです.....

4

2 に答える 2

2

たくさんの試行錯誤の末、私はうまくいく答えにたどり着きました。

    var w =new ActiveXObject("Excel.Application");                      
    var book = w.Workbooks.Open(excelFile);  
    var ExcelSheet= book.Sheets;
    var sheetCount  = ExcelSheet.Count;
    var arrayOfSheets  = new Array();;
    for(var i=0;i<sheetCount;i++){
        alert("Read sheets from file :"+ExcelSheet.Item(i+1).Name);
        arrayOfSheets [i] =ExcelSheet.Item(i+1).Name;
    }
于 2013-03-26T13:53:14.320 に答える
0

SheetsまたはWorksheetsコレクションには多くの簡単なオプションがないため、単純なループを実行できます。

declare string array with Excel.ActiveWorkBook.Worksheets.Count items.

foreach (Worksheet WS in Excel.ActiveWorkBook.Worksheets)
{
    Add the WS.Name to the array.
}
于 2013-03-26T11:53:49.337 に答える