'使用前需先选中要替换的区域
Sub 代码全角转半角A方法()
Dim Dic, strKey
Set Dic = CreateObject("Scripting.Dictionary")
'全角数字转换为半角
Dic.Add "1", "1"
Dic.Add "2", "2"
Dic.Add "3", "3"
Dic.Add "4", "4"
Dic.Add "5", "5"
Dic.Add "6", "6"
Dic.Add "7", "7"
Dic.Add "8", "8"
Dic.Add "9", "9"
Dic.Add "0", "0"
'小写全角转换
Dic.Add "a", "a"
Dic.Add "b", "b"
Dic.Add "c", "c"
Dic.Add "d", "d"
Dic.Add "e", "e"
Dic.Add "f", "f"
Dic.Add "g", "g"
Dic.Add "h", "h"
Dic.Add "i", "i"
Dic.Add "j", "j"
Dic.Add "k", "k"
Dic.Add "l", "l"
Dic.Add "m", "m"
Dic.Add "n", "n"
Dic.Add "o", "o"
Dic.Add "p", "p"
Dic.Add "q", "q"
Dic.Add "r", "r"
Dic.Add "s", "s"
Dic.Add "t", "t"
Dic.Add "u", "u"
Dic.Add "v", "v"
Dic.Add "w", "w"
Dic.Add "x", "x"
Dic.Add "y", "y"
Dic.Add "z", "z"
'大写全角转换
Dic.Add "A", "A"
Dic.Add "B", "B"
Dic.Add "C", "C"
Dic.Add "D", "D"
Dic.Add "E", "E"
Dic.Add "F", "F"
Dic.Add "G", "G"
Dic.Add "H", "H"
Dic.Add "I", "I"
Dic.Add "J", "J"
Dic.Add "K", "K"
Dic.Add "L", "L"
Dic.Add "M", "M"
Dic.Add "N", "N"
Dic.Add "O", "O"
Dic.Add "P", "P"
Dic.Add "Q", "Q"
Dic.Add "R", "R"
Dic.Add "S", "S"
Dic.Add "T", "T"
Dic.Add "U", "U"
Dic.Add "V", "V"
Dic.Add "W", "W"
Dic.Add "X", "X"
Dic.Add "Y", "Y"
Dic.Add "Z", "Z"
'标点符号
Dic.Add ",", ","
Dic.Add ":", ":"
Dic.Add ";", ";"
Dic.Add "(", "("
Dic.Add ")", ")"
Dic.Add "[", "["
Dic.Add "]", "]"
Dic.Add ".", "."
Dic.Add "+", "+"
Dic.Add "%", "%"
Dic.Add "/", "/"
' ......
' 在这里可以根据需要增加更多的替换规则
' ......
For Each strKey In Dic.Keys
Selection.Find.Execute FindText:=strKey, ReplaceWith:=Dic(strKey), Replace:=wdReplaceAll
Selection.StartOf wdStory
Next
MsgBox "完成!"
End Sub
Sub 代码全角转半角B方法()
Dim qjsz$, bjsz$, i%
qjsz = "0123456789abcdefghijklmnopqrstuvwxyz<>{}();,:./\!#&%="
bjsz = "0123456789abcdefghijklmnopqrstuvwxyz<>{}();,:./\!#&%="
For i = 1 To 60
With Selection.Find
.Text = Mid(qjsz, i, 1)
.Replacement.Text = Mid(bjsz, i, 1)
.Format = False
.Execute Replace:=wdReplaceAll
End With
Next i
End Sub
|