|
第三个方法,看看合不合适你使用.
按英文输入,用a1代表ā,a2-->á,a3-->ǎ,a4-->à.....v1-->ǖ,v2-->ǘ,v3-->ǚ,v4-->ǜ.输入,最后用宏来替代.
当然要注意输入过程中,确认辞典中没有用到以上定义的字母加数字的组合.
Sub mypinying()
Dim eng As String
Dim pin As String
eng = "a1a2a3a4o1o2o3o4e1e2e3e4i1i2i3i4u1u2u3u4v1v2v3v4"
pin = ChrW(257) & ChrW(225) & ChrW(462) & ChrW(224) & ChrW(333) & ChrW(243) & ChrW(466) & ChrW(242) & ChrW(275) & ChrW(233 _
) & ChrW(283) & ChrW(232) & ChrW(299) & ChrW(237) & ChrW(464) & ChrW _
(236) & ChrW(363) & ChrW(250) & ChrW(468) & ChrW(249) & ChrW(470) & _
ChrW(472) & ChrW(474) & ChrW(476)
For i = 1 To Len(eng) Step 2
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Mid(eng, i, 2)
.Replacement.Text = Mid(pin, (i + 1) / 2, 1)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.CorrectHangulEndings = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next i
End Sub |
|