2017-07-31 25 views
0

我需要獲取所選單元格的同一行中所有單元格的數據。
另外,我需要這樣做,每次用戶移動到另一個單元格。Excel加載項JavaScript - 獲取所選單元格的數據

到目前爲止,我設法正確地聽選擇正在改變:

Office.context.document.addHandlerAsync(Office.EventType.DocumentSelectionChanged, function (e) { 
    // Info 
}); 

但可悲的是,e對象不包含列&行的任何數據。

謝謝!

回答

0

您可以使用getSelectedDataAsync函數獲取所選單元的數據。這是一個example

但是這個函數只會返回所選單元格的數據。

要獲取行中所有單元格的數據,我將執行以下步驟。

  1. 你得到你的編碼在e對象中的綁定ID與這個綁定ID你可以用下面的代碼獲得選擇範圍。

    Excel.run(function (ctx) { var completeBinding = ctx.workbook.bindings.getItem(<BindingId>); var range = completeBinding.getRange(); range.load('address'); return ctx.sync().then(function() { var sSelectedRange = range.address; }); }).catch(function (error) { //Handel error });

  2. 現在你有例如F7範圍。調整範圍以讀取整個行,例如讀取到A7:BC7。所以基本上你只需要知道所選行的索引來生成一個Range。使用生成的範圍,您可以使用以下編碼讀取數據。

    Excel.run(function (ctx) { var range = ctx.workbook.worksheets.getItem(sWorksheet).getRange('A7:BC7').load("values"); return ctx.sync().then(function() { var aYourValues = range.values; }); }).catch(function (oError) { //Handle Error });

相關問題