vba - 如何使用宏查找 MS Word 文档中的所有首字母缩略词?

标签 vba ms-word acronym

我有一个包含许多首字母缩略词的文档,需要捕获并放入文档末尾的首字母缩略词表中。

术语首字母缩略词有多种含义。我想创建一个包含所有已初始化单词的表;两个或两个以上大写字母的缩写,表示更长的含义。即 CD-ROM、USB、SYNC、MMR、ASCAP 等。

我如何创建一个宏来做到这一点?

最佳答案

像这样的事情可能会让你开始。添加对“Microsoft VBScript 正则表达式”的引用(编辑宏:工具 > 引用)。这个库是文件“vbscript.dll”。

如果您的所有首字母缩略词都不是大写字母(例如,有些可能包含数字),您可能需要调整正则表达式。

Sub Acronyms()

    Dim dict, k, tmp
    Dim regEx, Match, Matches
    Dim rngRange As Range
    Set regEx = New RegExp
    Set dict = CreateObject("scripting.dictionary")

    regEx.Pattern = "[A-Z]{2,}" '2 or more upper-case letters
    regEx.IgnoreCase = False
    regEx.Global = True
    Set Matches = regEx.Execute(ActiveDocument.Range.Text)
    For Each Match In Matches
        tmp = Match.Value
        If Not dict.Exists(tmp) Then dict.Add tmp, 0
        dict(tmp) = dict(tmp) + 1
    Next

    For Each k In dict.Keys
        Debug.Print k, dict(k)
    Next k

End Sub

关于vba - 如何使用宏查找 MS Word 文档中的所有首字母缩略词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10917155/

相关文章:

ms-access - 如何更新此代码,而不会出现运行时错误3075?

Excel VBA 关闭工作簿并触发新宏

vb.net - 如何在 Word 文档中插入 Image 对象作为图片

vba - 将 3 个值中的 1 个传递给 Sub

c# - 常量首字母缩略词的命名约定

excel - 删除工作表中的所有空格

excel - 在 vba 中缩进 mpp 文件(Ms 项目文件)中的任务(excel 到 mpp 文件)

Word 中的 VBA : Programmatically add content control with a style

java - DTO、DAO 和 DCO。什么是 DCO?

用于删除互联网行话/俚语/首字母缩略词的 python 模块