在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"
。
现在的问题是,我如何使用这个新发现的知识来修复文件,而不是手动抽取所有幻灯片#.xml文件,在文本编辑器中打开它们并使用“替换”来修复它们?
这种抽象过程可以自动化,但是如果可以从PowerPoint中的VBA进行操作则会更容易。
谢谢, 安德鲁
答案 0 :(得分:1)
答案 1 :(得分:1)
我知道您要求提供关于PowerPoint的具体答案,而不是在“某些”区域进行拼写检查。
我想建议你使用一个名为Spell Check Anywhere的程序。它为所有Windows程序添加了拼写检查,包括PowerPoint。因此,您可以在任何键入的地方拼写任何Windows程序。
拼写检查是非常高质量,更好的单词建议,甚至比Word给出的。
它还带有速度输入。
因此,当您正在寻找PowerPoint的解决方案时,此程序将为您提供解决整个拼写检查需求的解决方案。
谢谢, Tomer的
答案 2 :(得分:1)
我终于找到了一种使用powershell
使用脚本(至少部分过程)来修复此问题的方法。
.pptx
文件重命名为.zip
\ppt\slides
slide*.xml
个文件Windows Powershell
粘贴以下代码:
$configFiles=get-childitem . *.xml -rec
foreach ($file in $configFiles) { (Get-Content $file.PSPath) | Foreach-Object {$_ -replace ' noProof="1"', ''} | Set-Content $file.PSPath }
将xml
文件放回zip文件
.zip
文件重命名为.pptx
,Powerpoint
文件。