如何向 Microsoft Word 添加拼写检查规则列表?

如何向 Microsoft Word 添加拼写检查规则列表?

我想使用 Microsoft Word 来更正一些纯文本。但我需要 Word 使用一组新的/自定义的拼写检查规则:例如将“fcarce”替换为“scarce”。我可以手动添加每条规则,但这需要几个小时甚至几天的时间。有没有办法将整个列表添加到 Word 中?

PS 我知道如何添加自定义词典。但自定义词典似乎只是拼写正确的单词列表,而我需要的是拼写错误的单词列表以及用于替换它们的正确拼写。

答案1

我尝试了宏录制器,可以录制添加的自动更正条目。例如,我添加了更正abcABC

Sub Macro1()
AutoCorrect.Entries.Add Name:="abc", Value:="ABC"
With Options
    .AutoFormatAsYouTypeApplyHeadings = False
    .AutoFormatAsYouTypeApplyBorders = True
    .AutoFormatAsYouTypeApplyBulletedLists = True
    .AutoFormatAsYouTypeApplyNumberedLists = True
    .AutoFormatAsYouTypeApplyTables = True
    .AutoFormatAsYouTypeReplaceQuotes = True
    .AutoFormatAsYouTypeReplaceSymbols = True
    .AutoFormatAsYouTypeReplaceOrdinals = True
    .AutoFormatAsYouTypeReplaceFractions = True
    .AutoFormatAsYouTypeReplacePlainTextEmphasis = False
    .AutoFormatAsYouTypeReplaceHyperlinks = True
    .AutoFormatAsYouTypeFormatListItemBeginning = True
    .AutoFormatAsYouTypeDefineStyles = False
    .TabIndentKey = True
End With
With AutoCorrect
    .CorrectInitialCaps = True
    .CorrectSentenceCaps = True
    .CorrectDays = True
    .CorrectCapsLock = True
    .ReplaceText = True
    .ReplaceTextFromSpellingChecker = True
    .CorrectKeyboardSetting = False
    .DisplayAutoCorrectOptions = True
    .CorrectTableCells = True
End With
With OMathAutoCorrect
    .UseOutsideOMath = False
    .ReplaceText = True
End With
With Options
    .AutoFormatApplyHeadings = True
    .AutoFormatApplyLists = True
    .AutoFormatApplyBulletedLists = True
    .AutoFormatApplyOtherParas = True
    .AutoFormatReplaceQuotes = True
    .AutoFormatReplaceSymbols = True
    .AutoFormatReplaceOrdinals = True
    .AutoFormatReplaceFractions = True
    .AutoFormatReplacePlainTextEmphasis = True
    .AutoFormatReplaceHyperlinks = True
    .AutoFormatPreserveStyles = True
    .AutoFormatPlainTextWordMail = True
End With
Options.LabelSmartTags = False
End Sub

显然,我刚刚通过录制才发现,所以我不确定这些选项中的哪些是必需的,但这些是默认的。但您要查找的 VBA 代码是AutoCorrect.Entries.Add

答案2

您可以这样做以实现自动更正。需要 VBA。此版本仅替换纯文本,而不是富文本。据我所知,它适用于 Win Word 2010(可能还有 2007/2013)和 Mac Word 2011。

(自动更正基本上只允许“规则”,其中一个特定的单词被另一个文本替换 - 据我所知,没有任何工具可以检查语法内容,例如单词的复数版本,或进行任何类型的通配符)

创建一个包含一个表格(两列)的 Word 文档。保存您的文档。

在第一列的顶部单元格中输入“发件人”。在第二列的顶部单元格中输入“收件人”。

假设您有 100 条规则。

对于每条规则,您需要在表中占一行。将要检测的文本放在该行的第一个单元格中,将要替换的文本放在该行的第二个单元格中。

此表中的自动更正将替换任何具有相同“发件人”的现有自动更正,因此请谨慎在此表中输入内容。

完成后,保存您的工作。

然后您需要插入以下 VBA 并运行它。有关这方面的一些过时的帮助,请参阅此链接

Sub importautocorrects()
Dim objACE As Word.AutoCorrectEntry
Dim objDocument As Word.Document
Dim r As Word.Range
Dim objTable As Word.Table
Dim i As Integer
Set objDocument = ActiveDocument
Set objTable = objDocument.Tables(1)
For i = 2 To objTable.Rows.Count
  With objTable.Rows(i)
      Word.AutoCorrect.Entries.Add _
        Left(.Cells(1).Range.Text, _
        Len(.Cells(1).Range.Text) - 2), _
        Left(.Cells(2).Range.Text, _
        Len(.Cells(2).Range.Text) - 2)
  End With
Next
Set objTable = Nothing
Set objDocument = Nothing
End Sub

答案3

要添加更正,请打开 Word 并单击“文件”>“选项”

在选项窗口中,单击“校对”。在这里,您可以找到有关校对设置的所有信息。如果您单击“自动更正选项”,您还可以添加“键入时更正”;我想这就是您要找的!

以下是屏幕截图:

选项的屏幕截图

相关内容