在Officejs中,您可以检索绑定对象的范围吗?



针对在线词的目标,但是任何excel/ppt的指示也将有所帮助。

本质上,是否可以将绑定对象中文本视为范围?因此,能够选择所有内容并将其移动到开始/结束。

我正在设想代码具有以下效果:

Office.select(“myBindingID”, function error(){}).getAsRange().select(“End”);

主机特定的办公室2016 API浪与" COONSE"(2013(API之间存在差异。

在Excel中,绑定(以及共同API集中的所有内容(都暴露于新的OM,并与OM的其他方面联系(例如范围(。因此,您绝对可以做到:

    await Excel.run(async (context) => {
        let binding = context.workbook.bindings.getItem("TestBinding");
        let range = binding.getRange();
        range.load("address");
        range.select();
        await context.sync();
        OfficeHelpers.UI.notify("Binding range address is " + range.address);
    });

似乎在特定单词的API中没有提供绑定支持。如果您想偶然表现,您可能想问一个单独的stackoverflow问题,例如" Wordapi(Office 2016 (支持绑定?"。

对于excel,您可以通过最近发射的脚本实验室工具(https://aka.ms/getScriptlab(尝试在五次单击上进行上述摘要的展开版本。只需安装脚本实验室加载程序(免费(,然后在"导航"菜单中选择"导入",然后使用以下GIST URL:https://gist.github.com/zlatkovsky/7701ceddae360AD38886CA867F3831A6F。查看有关将摘要导入脚本实验室的更多信息。

更新:

关于 @codex关于是否可以将Office 2013方法(addFromPromptAsync(与新办公室2016 API浪潮相结合的问题:是的。您可以将调用嵌套到2013回调中,尽管我个人更喜欢将其包裹在承诺中,如下所示(请参阅代码的上半部分(,然后使用新API的Excel.run(与我正在使用的内容相同(之前(:

    await new Promise((resolve, reject) => {
        Office.context.document.bindings.addFromPromptAsync(
            Office.BindingType.Matrix,
            { id: "TestBinding" },
            (result) => {
                if (result.status === Office.AsyncResultStatus.Succeeded) {
                    resolve();
                } else {
                    reject();
                }
            }
        )
    })
    await Excel.run(async (context) => {
        let binding = context.workbook.bindings.getItem("TestBinding");
        let range = binding.getRange();
        range.load("address");
        range.select();
        await context.sync();
        OfficeHelpers.UI.notify("Binding range address is " + range.address);
    });

您可以使用脚本实验室尝试,与上面相同的说明,请访问https://gist.github.com/zlatkovsky/24f2297cecea181Edcc165c65c6c6c0df6da0

ps:如果您不陌生地用承诺将回调包裹回来,则有一章专门针对JS/TS和Promises Primer(包括有关创建新承诺的部分(,在"建筑办公室添加"一书中使用Office.js"(https://leanpub.com/buildingofficeaddins(。免责声明,我是说书的作者;但是我确实认为,读者会在其中找到很多价值,既是从JS/TS/Promise概念开始的,又是本书的"肉" - 关于构成Office 2016 Wave的核心概念apis。

最新更新