无法使用Office JS

时间:2018-05-16 14:58:33

标签: typescript ms-word office-js

我正在使用Office JS编写Word加载项。我创建了一个Word文档,其结构如下所示:

<OuterContentControl tag="Outer" cannotDelete>
    <InnerContentControl tag="Inner" cannotDelete />
</OuterContentControl>

我尝试使用与此类似的代码删除内部内容控件:

async function delete() {

    await Word.run(async (context) => {
        const contentControls = context.document.contentControls.getByTag('Inner').load();
        await context.sync();

        contentControls.items.forEach(contentControl => {
            contentControl.cannotDelete = false;
            contentControl.cannotEdit = false;
            contentControl.delete(false);
        });

        await context.sync();
    });
}

当针对内部内容控件调用.delete时,我得到GeneralException,但对于外部内容控件,它可以正常工作。我是否需要采取不同的措施才能删除?我已经删除了外面的内容,但这并没有改变任何内容。

编辑:在尝试Rick的建议后,通过&#34;外部&#34;内容控件的contentControls属性,我可以删除一些。可以和不可以删除的那些以相同的方式生成。我仍然在GeneralException电话上得到了无用的ContentControl.delete。我也试过调用.getRange(Word.RangeLocation.whole).delete()并获得相同的GeneralException。它似乎是嵌套的最后一个内容控件是失败的。

根本原因我从删除中锁定了我的外部原因。因此,如果我从删除中解锁它,在内部工作上调用delete,但也删除外部内容控件。看起来像Word中的错误。有解决方法吗?

1 个答案:

答案 0 :(得分:-1)

这不会在最新版本中重现。您可以在内容中快速更新至16.0.10211.20004。