重置VSTO for Word 2010中忽略的拼写检查字

在旧版本的Word中,您可以执行以下操作来重置用户选择忽略的单词:
Application.ResetIgnoreAll();
ActiveDocument.SpellingChecked = false;
ActiveDocument.CheckSpelling();
我正在VSTO for Word 2010中尝试同样的功能,当它重新检查“忽略一次”的单词时,它不会重新检查'忽略全部'的单词。我已经尝试录制宏,同时转到选项 - >打样并单击“重新检查文档”,虽然这确实正确地重置了忽略所有列表,但它生成的宏与上面的代码相同。 有谁知道这是Word 2010 / VSTO中的错误,还是有不同的方法来重置'忽略所有'列表?     
已邀请:
这是一个错误,但VBA中有一个解决方法,您可以适应VSTO。正确识别后,
ActiveDocument.SpellingChecked
在Word对象模型中被破坏,但在Backstage视图下的Options | Proofing下,Recheck Document按钮正常工作。虽然宏录制器不会显示执行此操作的命令,但可以使用Word内置宏和SendKeys的组合导航到“手动”按钮以执行命令:
Application.Run MacroName:="FileNewDialog" 'Access Backstage view
SendKeys "%TP" 'Options|Proofing
SendKeys "%K" 'Recheck Document button
SendKeys "%Y" 'Yes button for confirmation message box
SendKeys "{ENTER}", True 'Exit the dialog box
SendKeys "{F7}" 'Perform spell check
由于SendKeys将Word置于某种手动模式,因此程序通常会在退出Backstage视图时忽略编程命令。这就是上面的代码使用F7击键来执行拼写检查而不是
ActiveDocument.CheckSpelling
的原因。 关于测试SendKeys的重要说明:SendKeys无法通过逐步执行VBA IDE中的代码来测试,因为它在运行时发送的键击在执行时被发送到活动窗口(这将是VBA开发窗口)。要测试SendKeys,请保存宏并将其附加到QAT按钮,可以根据需要按下该按钮进行测试。     

要回复问题请先登录注册