【问题标题】:Autocorrect Word 2010 (VBA)自动更正 Word 2010 (VBA)
【发布时间】:2017-11-09 10:57:10
【问题描述】:

对于我的问题,我尝试了不同的方法,但都没有奏效:我对实际解决它的方式很灵活,所以我认为最好从目的开始。

我得到了长字文件,我需要做一些质量检查和校对。文件中有很多单词大写不正确。我想自动获得这个(没有普通的语法软件/插件不会做)

我的所有条目都在我的自动更正文件、word 文件(最好不要使用它们)和 excel 电子表格中(错误的条目 - 正确的条目)。

刷新文档并不能解决问题。如果我从列表中选择一个单词并选择它并按空格键,那么它会被更改,所以我为此“编写”了一个宏

Sub Try()
    For Each sentence In ActiveDocument.StoryRanges  
        For Each w In sentence.Words            
            Selection.MoveRight Unit:=wdWord, Count:=1
            Selection.TypeText Text:=" "
            Selection.TypeBackspace          
        Next
    Next
End Sub

“工作”的东西,即它运行,你可以看到光标在屏幕上加速,但没有改变任何文字。所以我认为在宏运行时自动更正获取以某种方式被禁用..有人有提示吗?理想情况下知道解决方法吗?

最坏的情况是我想把文本放在一个 excel 文件中,并编写一个宏,为每一行文本检查每个单词是否与我的原始列表和“如果匹配则替换”,但这似乎不太容易(至少对我来说)

干杯
我希望我能解释一下自己

【问题讨论】:

  • 嗯...您的所有代码正在做的就是在单词之间添加一个空格,然后再次删除它...您的问题不清楚
  • 是的,这就是我将其称为“代码”的原因,这就是我的想法,因为这样做时,自动更正功能通常会启动原始文本,否则会保持不变;但自动更正不会以这种方式激活,因为我认为它在宏运行时被暂停
  • 哦...我明白了...您希望通过这样修改文本,调用自动更正并进行更正。抱歉,代码运行时不会发生这种情况。您将需要为此使用查找和替换宏...
  • 正是...谢谢您的回答 :) 我没有为 excel 宏做太多事情,因为我希望找到解决方法 :-/ 所以现在问可能为时过早关于那个的问题。无论如何,如果您有任何一般性建议,我很高兴听到它;否则我会在完成一些工作后再次发布:)
  • 查看我的答案,希望对您有所帮助:)

标签: vba ms-word autocorrect


【解决方案1】:

这个伪代码/大纲应该让你开始:

在 Word 中,您可以创建 Excel 实例并打开电子表格:
https://stackoverflow.com/a/24196120/3451115

然后您可以循环浏览您的 WrongWords 列表:
https://stackoverflow.com/a/1463308/3451115

对每个 WrongWord 进行查找和替换:
VBA to find and replace a text in MS WORD 2010

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    相关资源
    最近更新 更多