Office JS - 删除内容控制问题

问题描述 投票:0回答:1

我正在尝试删除Word中的内容控件,我正在浏览这些文档:https://dev.office.com/reference/add-ins/word/contentcontrol

这是我的代码:

let mycc = context.document.contentControls.getByTag('mycc');
if (mycc) {
    context.load(mycc, 'text');
    context.sync().then(() => {
        mycc.items[0].delete(true);
        context.sync().then(() => { ... })
    })
}

不会抛出任何错误,并且内部最同步内的代码可以工作(插入另一个内容控件)。

我究竟做错了什么?

编辑:发现问题。内容控件确实被删除了,但我也想删除内容。我应该通过true,而不是将delete传递给false

ms-office office-js
1个回答
2
投票

我无法重现您所描述的问题。鉴于您发布的代码不包含任何错误处理逻辑,我怀疑可能会默默地抛出错误,但您没有检测到它。

以下代码片段成功删除了第一个包含标记mycc的内容控件,并包含一个catch语句,用于处理Word.run中可能发生的任何错误。

Word.run(function (context) {
    var myContentControls = context.document.contentControls.getByTag("mycc");
    if (myContentControls) {
        context.load(myContentControls, "text");
        return context.sync()
            .then(function () {
                myContentControls.items[0].delete(true);
                return context.sync()
                    .then(function () {
                        console.log("Done!");
                    });
            });
    }
}).catch(OfficeHelpers.Utilities.log);
© www.soinside.com 2019 - 2024. All rights reserved.