gpt4 book ai didi

typescript - 无法使用 Office JS 删除 Word 中的嵌套内容控件

转载 作者:搜寻专家 更新时间:2023-10-30 22:03:21 24 4
gpt4 key购买 nike

我正在使用 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 的建议通过“外部”内容控件的 contentControls 属性后,我能够删除一些内容。可以删除的和不能删除的都是一样的生成方式。我仍然在 ContentControl.delete 调用中收到无用的 GeneralException。我也试过调用 .getRange(Word.RangeLocation.whole).delete() 并得到相同的 GeneralException。似乎是嵌套的最后一个内容控件失败了。

根本原因 我锁定了我的外层,以免被删除。因此,如果我将其从删除中解锁,则在内部工作时调用 delete,但也会删除外部内容控件。似乎是 Word 中的错误。有解决方法吗?

最佳答案

这不会在最新版本中重现。您可以在内部人员中快速更新到 16.0.10211.20004。

关于typescript - 无法使用 Office JS 删除 Word 中的嵌套内容控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50374193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com