微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 OpenXML 在 MS Word 中添加/更新目录时出现问题

如何解决使用 OpenXML 在 MS Word 中添加/更新目录时出现问题

我需要使用 OpenXML 添加/更新 TOC - MS 文档中的目录。我正面临着实现同样目标的挑战。我使用的是 MS Office 2016。

我已经尝试了这篇文章中的所有选项: How to generate Table Of Contents using OpenXML SDK 2.0?

还通过了 Eric White videos

我正在尝试使用 UpdateField 选项并能够按照上述链接中的示例代码添加空目录。

但是,当我打开文档时,我没有收到一个要求更新 TOC 的弹出对话框。

这是示例代码

            var sdtBlock = new SdtBlock();
            sdtBlock.InnerXml = GetTOC(); //TOC Xml
            document.MainDocumentPart.Document.Body.AppendChild(sdtBlock);

            DocumentFormat.OpenXml.Wordprocessing.SimpleField f;
            f = new SimpleField();
            f.Instruction = "sdtContent";
            f.Dirty = true;
            document.MainDocumentPart.Document.Body.Append(f);

           
            var setting = document.MainDocumentPart.DocumentSettingsPart;
            if (setting != null)
            {
                document.MainDocumentPart.DocumentSettingsPart.Settings.Append(new UpdateFieldsOnopen() { Val = new DocumentFormat.OpenXml.OnOffValue(true)});
                document.MainDocumentPart.DocumentSettingsPart.Settings.Save();
            }

enter image description here

显示认消息,而我有有效的条目(标题)。

是否是由于 MS Office 2016? UpdateField 弹出窗口不会出现?

我不想使用以下选项:

  1. Word 自动化 - 由于 Microsoft.Office.Interop.Word
  2. Word 自动化服务 - 为此需要 Sharepoint
  3. 添加宏 - 因为每次打开文档时它都要求保存文档。

如果有更好的选择来创建/更新目录,请告诉我。

您的回答/评论真的很有帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。