2017-05-16 4 views
0

Excel Javascript API을 사용하여 두 워크 시트의 위치를 ​​얻는 방법은 무엇입니까?Excel Javascript API 여러 장의 위치 가져 오기

Excel.run(function (ctx) { 
    var wSheetName = 'Sheet1'; 
    var worksheet = ctx.workbook.worksheets.getItem(wSheetName); 
    worksheet.load('position') 
    return ctx.sync().then(function() { 
     console.log(worksheet.position); 
    }); 
}); 

=을>는 콘솔

0를 기록하지만 두 개의 워크 시트 위치를 얻으려고한다면 아무것도 기록하지 않습니다 여기에

는 하나의 시트 작동하는 방법이다 :

Excel.run(function (ctx) { 
    var wSheetName = 'Sheet1'; 
    var wSheetName2 = 'Evars'; 
    var worksheet = ctx.workbook.worksheets.getItem(wSheetName); 
    var worksheet2 = ctx.workbook.worksheets.getItem(wSheetName2); 
    worksheet.load('position') 
    worksheet2.load('position') 
    return ctx.sync().then(function() { 
     console.log(worksheet.position); 
     console.log(worksheet2.position); 
    }); 
}); 

답변

0

방금 ​​코드를 시도했지만 정상적으로 작동합니다. 그 이름 중 하나에 의해 단순히 시트가 없는지 궁금합니다. 예외 처리가 발생했습니다. catch 처리기가 없으므로 침묵으로 표시되었습니다.

당신뿐만 아니라 catch 문에 기본적으로 동일한 아래의 코드는 제대로 작동합니다

Excel.run(function(ctx) { 
    var wSheetName = 'Sheet1'; 
    var wSheetName2 = 'Sheet2'; 
    var worksheet = ctx.workbook.worksheets.getItem(wSheetName); 
    var worksheet2 = ctx.workbook.worksheets.getItem(wSheetName2); 
    worksheet.load('name, position') 
    worksheet2.load('name, position') 
    return ctx.sync().then(function() { 
     console.log(worksheet.name + ": " + worksheet.position); 
     console.log(worksheet2.name + ": " + worksheet2.position); 
    }); 
}).catch(function(error) { 
    OfficeHelpers.UI.notify(error); 
    OfficeHelpers.Utilities.log(error); 
}) 

당신은 새로운 스크립트 연구소에서 그대로 다섯 클릭 (https://aka.ms/getscriptlab)에서 라이브이 조각을 시도 할 수 있습니다. Script Lab 추가 기능 (무료)을 설치 한 다음 탐색 메뉴에서 "가져 오기"를 선택하고 다음 GIST URL (https://gist.github.com/Zlatkovsky/c61594f1c86970e8dba91fe94b7ca4b6)을 사용하십시오. more info about importing snippets to Script Lab을 참조하십시오.

0

솔루션 here이 ... 어쩌면이 사람에게

도움이 될 것입니다 찾을 수
Excel.run(function (ctx) { 
    var worksheets = ctx.workbook.worksheets; 
    worksheets.load('items'); 
    return ctx.sync().then(function() { 
     for (var i = 0; i < worksheets.items.length; i++) { 
      var sheet_name = worksheets.items[i].name; 
      var sheet_position = worksheets.items[i].position; 
     } 
    });