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