如何更新Word文档中的所有字段

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

我是 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() 。

测试场景:

  • 创建Word文档
  • 添加一些文字
  • 插入“页数”字段
  • 插入更多文字
  • 运行我的代码

该字段不更新。这是为什么?

office-js
1个回答
0
投票

如果 SEQ 字段都是第一个字段的字面副本,那么它们将始终具有相同的值。第二个等字段必须使用

\n
选项来指示该值应该递增。像这样:

{SEQ 测试 * MERGEFORMAT}

{SEQ 测试 * 合并格式}

{SEQ 测试 * 合并格式}

© www.soinside.com 2019 - 2024. All rights reserved.