试试下面的宏。 Sub King2GB() '仅针对金山音标中的拼音字符,其他字符还可自行添加 Dim RepArray() As Variant, i As Byte '定义数组 Application.ScreenUpdating = False '关闭屏幕更新以加快速度 RepArray = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", _ "t", "u", "v", "w", "x", "y", "z", "-", "¦", "\", "□", "□", "□", "ā", "á", "ǎ", "à", "ē", "é", "ě", "è", _ "ī", "í", "ǐ", "ì", "ō", "ó", "ǒ", "ò", "ū", "ú", "ǔ", "ù", "ǖ", "ǘ", "ǚ", "ǜ") '定义替换GB拼音字符 With ActiveDocument.Content.Find '在活动文档中循环查找替换 For i = 1 To 56 .ClearFormatting .Text = ChrW(61536 + i) '查找文本的字符码值 .Font.Name = "Kingsoft Phonetic Plain" '查找文本的字体 .Replacement.Text = RepArray(i - 1) '对应替换文本 .Replacement.Font.Name = "宋体" '替换文本的字体 .Execute Replace:=wdReplaceAll '全部替换 Next End With Application.ScreenUpdating = True '打开屏幕更新 End Sub 本来12点多注释已写得差不多了,要放假了办公室突然断电,现补上。
[此贴子已经被作者于2007-4-30 13:36:03编辑过] |