VBA 全角转半角

来源:互联网 发布:httpclient获取json 编辑:程序博客网 时间:2024/06/05 15:38

'使用前需先选中要替换的区域

 

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 EachstrKey InDic.Keys   
       Selection.Find.Execute FindText:=strKey, ReplaceWith:=Dic(strKey),Replace:=wdReplaceAll   
       Selection.StartOfwdStory   
   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