【问题反馈】WPS 演示:格式刷在表格单元格之间无法复制段落格式
────────────────────────────────────────────
一、环境
────────────────────────────────────────────
WPS 版本:12.1.0.29158(本机另装有 12.1.0.28488,两个版本都能复现)
操作系统:Windows 10 22H2(内部版本 19045)
涉及模块:WPS 演示(.pptx)
────────────────────────────────────────────
二、现象
────────────────────────────────────────────
在 WPS 演示中,单击一次格式刷,从表格的一个单元格刷到另一个单元格:
· 字体、字号 → 能刷过去
· 项目符号 → 刷不过去
· 缩进、行距 → 刷不过去
双击格式刷同样无效。
对照情况(同一台机器、同一个文件):
· 文本框 → 文本框:格式刷完全正常
· 用 PowerPoint 打开:完全正常
· 用 OnlyOffice 打开:完全正常
────────────────────────────────────────────
三、复现步骤(见附件 格式刷对照试验2.pptx)
────────────────────────────────────────────
1. 选中「表格①」左侧单元格(源)里的两行文字
2. 单击格式刷,再点右侧单元格(目标)里的文字
3. 表格①:目标格出现项目符号 → 正常
4. 对「表格②」「表格③」重复同样操作
5. 表格②③:目标格没有出现项目符号 → 异常
说明:四张表格的行列数、列宽、表样式、目标格内容完全相同,
唯一区别是「源」段落的 XML 相差一个标签。
────────────────────────────────────────────
四、已定位的原因
────────────────────────────────────────────
表格单元格段落的 <a:pPr> 中,只要存在 <a:defRPr> 元素,
格式刷就拒绝复制段落格式。
注意:空的 <a:defRPr/> 同样会触发。
把该元素删除后,格式刷立即恢复正常。
表格① 源 pPr 无 <a:defRPr> → 正常
表格② 源 pPr 含空 <a:defRPr/> → 刷不上
表格③ 源 pPr 含 <a:defRPr sz="1800" b="0"/> → 刷不上
表格④ 源 pPr 无 <a:defRPr>(其他属性也不完整) → 正常
(表格④说明:符号颜色/大小、字体属性是否写全,都不影响结果。)
────────────────────────────────────────────
五、为什么建议修复
────────────────────────────────────────────
1. 空的 <a:defRPr/> 是合法的 OOXML 写法(ECMA-376)。PowerPoint 与
OnlyOffice 都能正常处理,说明这是 WPS 侧的容错问题,不是文件不合规。
2. 目前大量 AI 生成 PPT 的工具(底层多为 python-pptx)默认就会写出
这个空标签,用户会非常频繁地遇到。
3. 现象隐蔽:文件打开、显示、编辑全部正常,只有格式刷这一个功能静默
失效。普通用户几乎不可能自行定位到 XML 层面。
────────────────────────────────────────────
六、期望
────────────────────────────────────────────
格式刷在表格单元格之间复制段落格式时,不要因为 <a:defRPr> 的存在而中断;
至少应对空的 <a:defRPr/> 做兼容处理。
────────────────────────────────────────────
七、附件
────────────────────────────────────────────
格式刷对照试验2.pptx (内含 4 张对照表,可直接复现)
对照试验PPT无法附上,如需要可再同我联系。
感谢!