我需要获取所选单元格的同一行中所有单元格的数据 另外,每次用户移动到另一个单元格时,我都需要这样做。
到目前为止,我设法正确地听取了被更改的选择:
Office.context.document.addHandlerAsync(Office.EventType.DocumentSelectionChanged, function (e) {
// Info
});
但遗憾的是,e
对象并未包含该列的任何数据。行。
谢谢!
答案 0 :(得分:0)
您可以使用函数getSelectedDataAsync获取所选Cell的数据。这是一个example。
但是这个函数只会返回所选单元格的数据。
要获取行中所有单元格的数据,我将执行以下步骤。
您可以在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
});
现在你有了Range 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
});