在 PowerPoint(至少 2007 年,但可能还有其他)中,它拒绝对某些形状的“某些”文本进行拼写检查。
我认为这是形状的类型,所以改变了它们,这并没有解决它。所以我做了一些实验,将我所谓的“受感染”文本移动到几个框中,并看到它以某种方式附加到文本上。
获取一个包含已知感染和未感染部分的非常简单的文件,我将 .pptx 转换为 .zip 并打开 .\ppt\slides\slide1.xml
此处不进行拼写检查的文本附有:
<a:rPr noProof="1" ...
拼写没问题的文本,或在封闭内按下“忽略”的文本:
<a:rPr dirty="0" smtClean="0" ...
和拼写错误的文本,发现:
<a:rPr dirty="0" smtClean="0" err="1" ...
我找到并删除了文件中的所有 noProof="1",将其退回给柜台并打开了演示文稿。并且按照我的预期进行所有拼写检查,找到所有框中的所有错误,而不会损坏文件。
保存后,我重新打开了silde1.xml,发现dirty="0" smtClean="0"
还是dirty="0" smtClean="0" err="1"
在正确的地方。
现在的问题是,我如何使用这些新发现的知识来修复文件,而无需手动提取所有 slide#.xml 文件,在文本编辑器中打开它们并使用“替换”来修复它们?
提取过程可以自动化,但如果可以从 PowerPoint 中的 VBA 进行,那就更容易了。
谢谢,安德鲁