天天看点

关于英文字符半角转全角的问题

简单说来,就是全角空格为12288、半角空格为32,其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248。

下面是随手写的一个VBA宏,运行于 Word,可将活动文档中全部英文半角字符转全角。

(但速度之慢啊,转1000多个字符要花2-3分钟)

Sub ttt()

Dim i As Long, ac As Long

  For i = Application.ActiveDocument.Characters.Count To 1 Step -1

      ac = AscW(Application.ActiveDocument.Characters(i).Text)

      If ac = 32 Then

        Application.ActiveDocument.Characters(i).Text = ChrW(12288)

      ElseIf ac > 32 And ac < 128 Then

        Application.ActiveDocument.Characters(i).Text = ChrW(AscW(Application.ActiveDocument.Characters(i).Text) + 65248)

      End If

      Debug.Print i,

  Next

End Sub

继续阅读