You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Word 2016 MSO中body.getOoxml()丢失编号包部件问题咨询

Word 2016 MSO插件中getOoxml()丢失编号部件导致自定义编号重置问题

问题概述

在Word 2016 MSO的插件中调用body.getOoxml()时,返回的OOXML未包含编号包部件。执行insertOoxml()后,API要么抛出错误,要么自动生成默认的标准编号(如1、2、3),导致原本使用小写字母、罗马字母等自定义逻辑的编号被强制重置为标准格式。

环境详情

  • Word版本:2016 MSO 16.0.5369.1000(32位,运行于Windows 10)
  • 插件运行环境:依赖IE 11内核
  • Office.js版本:1.1.82(1.1.83-custom.0版本在Word 2016中执行insertOoxml()会直接抛出异常)
  • 对比环境:Word for M365中该功能可正常工作

业务背景

我们的业务场景是清除Word文档中的敏感数据,由于Word JS API 1.1版本不支持处理超链接,因此必须通过操作OOXML来完成超链接的修复工作。

重现步骤

  1. 创建新的Word文档
  2. 添加1-2个标题段落
  3. 将标题的编号格式修改为“a、b、c”样式
  4. 在插件中执行以下代码:
var body = context.document.body;
var body_ooxml = body.getOoxml();
await context.sync();
var body_ooxml_value = body_ooxml.value;
body.insertOoxml(body_ooxml_value, Word.InsertLocation.replace);
await context.sync();

预期与实际结果

  • 预期结果:文档内容完全保留,编号格式无任何变更
  • 实际结果:自定义编号被重置为默认的1、2、3标准格式

关键测试发现

经多次验证确认:Word 2016 MSO中getOOXML()方法返回的内容不包含编号相关部件(但文档本身的numbering.xml文件存在且内容正确)。执行insertOoxml()时,API会重新生成编号定义,直接覆盖原有的numbering.xml为标准编号配置。

求助内容

目前未找到可行的临时解决方案,恳请社区提供相关建议。此问题属于产品bug,需要官方修复。

内容的提问来源于stack exchange,提问作者Balo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 08:25:26