批量增加自动更正词条

办公族

熟悉Word的朋友可能都知道,Word的自动更正功能除了能自动更正录入时的拼写错误外,还可用来实现某些常用语的快速录入。笔者就经常利用它来实现单位名称、通讯地址等常用语的快速录入,十分方便。

不过,要实现快速录入,事先我们必须为每一个常用语设置一个相应的自动更正词条。自动更正词条由“错误”的快捷文本和实际要录入的“正确”文本组成。例如,我们用“电脑报地址”作为快捷文本,“重庆市渝中区双钢路3号科协大厦”作为实际要录入的“正确”内容来为电脑报社的通讯地址设置一个自动更正词条。这样,我们只须键入“电脑报地址”,Word就会自动将它更正为电脑报社的地址全称。但是,这些自动更正词条要自己手动添加。数量少还好办,要是碰上几十条甚至上百条,那将会是一件让人觉得十分乏味且烦琐的事情。那有没有快速省力的办法呢?经过摸索,笔者使用VBA代码解决了这个问题,特写出来与大家分享。

首先,打开Word,新建一个空白文档。然后,插入一个只含两列的空白表格。表格的行数则与待添加的词条数相同。接着,在表格每一行的第一个单元格中录入“错误”的快捷文本,在第二个单元格中录入相应的“正确”文本。表格内容录入完毕后,按“Alt+F11”组合键,打开Visual Basic编辑器窗口。接着,在右边空白窗口中键入以下内容:

Sub MultiAutoCorrectGenerator()

Dim oDoc As Document

Dim i As Integer

Dim Wrong As Range

Dim Right As Range

Set oDoc = ActiveDocument

For i = 2 To oDoc.Tables(1).Rows.Count

If oDoc.Tables(1).Rows(1).Cells(1).Range.Characters.Count > 1 Then

Set Wrong = oDoc.Tables(1).Cell(i, 1).Range

Wrong.End = Wrong.End - 1

Set Right = oDoc.Tables(1).Cell(i, 2).Range

Right.End = Right.End - 1

AutoCorrect.Entries.Add Name:=Wrong, Value:=Right

End If

Next i

End Sub

键入完毕后,关闭编辑器窗口并返回Word主窗口。单击“工具→宏→宏”命令,在弹出的宏对话框中,选中名为“MultiAutoCorrectGenerator”的宏,单击“运行”按钮即可。最后,单击“工具→自动更正选项”命令,在“自动更正”选项卡中的自动更正词条列表中检查一下,果然,表格中所有词条都已添加进来了。有兴趣的朋友不妨试试。