Option Explicit
Sub BatchReplace()
Dim oDict, strKey
Set oDict = CreateObject("Scripting.Dictionary")
'全角数字转换为半角
oDict.Add "1", "1"
oDict.Add "2", "2"
oDict.Add "3", "3"
oDict.Add "4", "4"
oDict.Add "5", "5"
oDict.Add "6", "6"
oDict.Add "7", "7"
oDict.Add "8", "8"
oDict.Add "9", "9"
oDict.Add "0", "0"
'小写全角转换
oDict.Add "a", "a"
oDict.Add "b", "b"
oDict.Add "c", "c"
oDict.Add "d", "d"
oDict.Add "e", "e"
oDict.Add "f", "f"
oDict.Add "g", "g"
oDict.Add "h", "h"
oDict.Add "i", "i"
oDict.Add "j", "j"
oDict.Add "k", "k"
oDict.Add "l", "l"
oDict.Add "m", "m"
oDict.Add "n", "n"
oDict.Add "o", "o"
oDict.Add "p", "p"
oDict.Add "q", "q"
oDict.Add "r", "r"
oDict.Add "s", "s"
oDict.Add "t", "t"
oDict.Add "u", "u"
oDict.Add "v", "v"
oDict.Add "w", "w"
oDict.Add "x", "x"
oDict.Add "y", "y"
oDict.Add "z", "z"
'大写全角转换
oDict.Add "A", "A"
oDict.Add "B", "B"
oDict.Add "C", "C"
oDict.Add "D", "D"
oDict.Add "E", "E"
oDict.Add "F", "F"
oDict.Add "G", "G"
oDict.Add "H", "H"
oDict.Add "I", "I"
oDict.Add "J", "J"
oDict.Add "K", "K"
oDict.Add "L", "L"
oDict.Add "M", "M"
oDict.Add "N", "N"
oDict.Add "O", "O"
oDict.Add "P", "P"
oDict.Add "Q", "Q"
oDict.Add "R", "R"
oDict.Add "S", "S"
oDict.Add "T", "T"
oDict.Add "U", "U"
oDict.Add "V", "V"
oDict.Add "W", "W"
oDict.Add "X", "X"
oDict.Add "Y", "Y"
oDict.Add "Z", "Z"
'标点符号
oDict.Add ",", ","
oDict.Add ":", ":"
oDict.Add ";", ";"
oDict.Add "(", "("
oDict.Add ")", ")"
oDict.Add "[", "["
oDict.Add "]", "]"
oDict.Add ".", "."
oDict.Add "+", "+"
oDict.Add "%", "%"
oDict.Add "/", "/"
' ......
' 在这里可以根据需要增加更多的替换规则
' ......
For Each strKey In oDict.Keys
Selection.Find.Execute FindText:=strKey, ReplaceWith:=oDict(strKey), Replace:=wdReplaceAll
Selection.StartOf wdStory
Next
MsgBox "完成!"
End Sub
本文介绍了一种使用 VBA 在 Word 中批量将全角字符转换为半角字符的方法。通过创建一个字典来对应全角和半角字符,然后利用 Selection.Find.Execute 方法实现替换。此方法适用于快速格式化文档中的字符。
2806

被折叠的 条评论
为什么被折叠?



