如何从 MS Word 中删除整个“键入时替换”列表

如何从 MS Word 中删除整个“键入时替换”列表

我需要从 Word 自动更正的“键入时替换”列表中删除大部分条目。我只需要几个条目,使用提供的删除按钮逐个删除所有不需要的条目将花费很长时间。我找到了一个可以备份和恢复列表的宏。它在这里:

http://www.word.mvps.org/FAQs/Customization/ExportAutocorrect.htm

我以为我可以用它来将列表导出到 Word 文档,删除大多数我不想要的条目,然后使用修改后的列表“恢复”。但这样做只允许我更改现有条目。我无法完全删除条目。删除会被忽略。

有人对删除条目有什么建议吗?

答案1

您可以使用宏来执行此操作。您可能希望先备份自动更正文件。

在空白文档中,转到“开发人员”选项卡并单击最左侧的“Visual Basic”按钮。我刚刚将以下代码添加到“ThisDocument”中。

步骤 1:使用宏创建一个包含所有现有自动更正条目的表格。

子获取ACentriesTable()

Dim z 作为整数

z = 应用程序.自动更正.条目数.计数

Dim i 作为整数

对于 i = 1 到 z

Selection.InsertAfter Application.AutoCorrect.Entries(i).Name & vbTab & Application.AutoCorrect.Entries(i).Value & vbCr

接下来我

选择.转换为表格

子目录结束

当您运行上述宏 getACEntriesTable 时,您应该在文档中得到一个 2 列表,列出所有当前的自动更正条目。

然后,您可以浏览表格并删除所有您不想保留的条目。

步骤 2:使用宏删除所有自动更正条目,然后仅重新导入表中的条目。

子重置ACentries()

'删除所有自动更正条目

Dim z 作为整数

z = 应用程序.自动更正.条目数.计数

Dim i 作为整数

对于 i = z 到 1 步骤 -1

Application.AutoCorrect.Entries(i).Delete

'NB: looping through items from end to start so index number is correct after each deletion (will only be z number of entries at very start, will decrease by 1 each loop)

接下来我

'将你留在本文档表格中的条目添加回来

Dim tblRow 作为行

对于 Selection.Tables(1).Rows 中的每个 tblRow

Application.AutoCorrect.Entries.Add Left(tblRow.Cells(1).Range.Text, Len(tblRow.Cells(1).Range.Text) - 2), Left(tblRow.Cells(2).Range.Text, Len(tblRow.Cells(2).Range.Text) - 2)

'NB 不希望表格单元格中最后两个隐藏的标记字符,只希望是实际的文本字符串,因此字符串长度 - 2

下一个

子目录结束

相关内容