我是 Office Web 加载项的新手(来自 VSTO),所以我可能不理解一些小而愚蠢的东西..
我有一个包含 10 个 SEQ 字段的文档 {{SEQ Test MERGEFORMAT}}。我复制并粘贴了它们,所以它们都显示结果“1”。我想以编程方式刷新它们,以便它们显示为“1”到“10”。
谁能告诉我我的代码有什么问题吗?或者我误解了 UpdateResult 函数应该做什么?
export async function UpdateAllFields_Click(event: Office.AddinCommands.Event) {
await Word.run(async (context) => {
console.log("UpdateAllFields_Click");
context.document.body.fields.load();
await context.sync();
for (let field of context.document.body.fields.items) {
field.updateResult();
}
await context.sync();
});
event.completed();
}
-- 编辑-- 我从 for 循环中删除了 context.sync() 。
测试场景:
该字段不更新。这是为什么?
如果 SEQ 字段都是第一个字段的字面副本,那么它们将始终具有相同的值。第二个等字段必须使用
\n
选项来指示该值应该递增。像这样:
{SEQ 测试 * MERGEFORMAT}
{SEQ 测试 * 合并格式}
{SEQ 测试 * 合并格式}