我正在使用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中的错误。有解决方法吗?
答案 0 :(得分:-1)
这不会在最新版本中重现。您可以在内容中快速更新至16.0.10211.20004。