我需要从 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
下一个
子目录结束