Office js 获取所选单元格';Office.js excel中的s值和地址

Office js 获取所选单元格';Office.js excel中的s值和地址,office-js,office-addins,exceljs,Office Js,Office Addins,Exceljs,我正在使用Office.js开发一个excelweb加载项。我需要获取所选单元格的地址和值。请明确,此处用户将仅选择一个单元格 当用户单击工作表中的单元格时会发生这种情况。下面的代码示例显示如何获取用户选择的单元格范围,然后获取该范围内第一个单元格的值,然后显示所选范围的地址和该范围内第一个单元格的值: await Excel.run(async (context) => { var range = context.workbook.getSelectedRange();

我正在使用
Office.js
开发一个
excelweb加载项。我需要获取所选单元格的
地址
。请明确,此处用户将仅选择一个单元格


当用户单击工作表中的单元格时会发生这种情况。

下面的代码示例显示如何获取用户选择的单元格范围,然后获取该范围内第一个单元格的值,然后显示所选范围的地址和该范围内第一个单元格的值:

await Excel.run(async (context) => {
    var range = context.workbook.getSelectedRange();
    range.load(['address', 'values']);
    await context.sync();

    var firstSelectedCellValue = range.values[0][0];

    OfficeHelpers.UI.notify('Selected range is: ' + range.address + '. Value of first cell in that range is: ' + firstSelectedCellValue);
});

您可以使用scriptlab()自己快速轻松地尝试此代码段。只需安装脚本实验室加载项(免费),然后在导航菜单中选择“导入”,并使用以下要点URL:

我通过以下代码解决了我的问题

Office.context.document.addHandlerAsync(Office.EventType.DocumentSelectionChanged,
            function (eventArgs) {
                Excel.run(function (ctx) {
                    var range = ctx.workbook.getSelectedRange();
                    range.load(['address', 'values']);
                    return ctx.sync().then(function () {
                        showNotification("", range.values[0][0] + " Address:" + range.address);
                    });
                });                    
            });

Office.JS
中是否有
Async
await
可用?
Async/await
是JavaScript作为ES7的一部分而引入的一个概念;但如果你使用像TypeScript这样的工具,今天你也可以使用它。除了更好的智能感知和编译时安全性之外,TypeScript还允许您使用未来的语言功能,然后将这些功能编译为您可以在浏览器中执行的普通ol'ES5 JavaScript。你可以在这本书中找到更多的信息,书中描述并使用了TypeScript,但也提供了“附录A:使用纯ES5JavaScript(no
async/await
)”感谢Kim Brandl的回答和提供的良好信息。谢谢@Michael Zlatkovsky