当前位置:编程学习 > VB >>

如何调用添加拼音功能

--------------------编程问答-------------------- 一种设想的,要实现的逻辑是:
1.取出当前行的汉字
2.得到这一行对应的拼音
3.将该拼音插入为当前行的下一行
4.设下一行汉字为当前行,重复1 直到文档结尾 --------------------编程问答-------------------- 网上搜索下个拼音字体,然后word打开,直接把字体换成拼音就行了. --------------------编程问答-------------------- libralibra 谢谢提醒。
有指定用Word的拼音库 --------------------编程问答-------------------- 有人知道吗? --------------------编程问答-------------------- 打开录制宏
选第一行,进行添加拼音功能。
关闭录制宏

按alt+F11,查看宏代码,
修改宏代码,加个循环,循环所有的段落数,一段执行一次。
好在你的一段就是一行。爽。

改完了运行一下宏,世界清静了。 --------------------编程问答-------------------- 回VanSoft:
谢谢回复。那样录制所得到的宏,如:

    Selection.MoveRight Unit:=wdCharacter, Count:=4, Extend:=wdExtend
    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    With Selection
        .Start = 0
        .End = 3
        .Range.PhoneticGuide Text:="shì", Alignment:= _
            wdPhoneticGuideAlignmentOneTwoOne, Raise:=9, FontSize:=5, FontName:= _
            "宋体"
    End With

在这里,"是" 所对应的拼音已经获得-即,"shì",问题的核心是,如何调用Word的拼音控件以返回输入对应的拼音注释。 --------------------编程问答-------------------- 已经知道如下代码可以弹出拼音注释窗口:
Selection.HomeKey Unit:=wdLine
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
aLine = Selection.Text
'MsgBox aLine

Dim pinyinDialog As Dialog
Set pinyinDialog = Dialogs(Word.WdWordDialog.wdDialogPhoneticGuide)
pinyinDialog.Execute


但当尝试使用Handler实现 在弹出后,自动产生一个 回车 按键信息 时,编译提示子过程未定义,代码如下:

Sub InsertPinyin()

Selection.HomeKey Unit:=wdLine
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
aLine = Selection.Text
'MsgBox aLine

Dim pinyinDialog As Dialog
Set pinyinDialog = Dialogs(Word.WdWordDialog.wdDialogPhoneticGuide)

AddHandler pinyinDialog.Ev_Event, AddressOf EventHandler
pinyinDialog.Execute
End Sub

Sub EventHandler()
 SendKeys "{ENTER}"
End Sub

有人知道怎么处理吗? --------------------编程问答-------------------- 楼主的想法跟我一样!我也是想解决这个,请问解决了吗?求共享! --------------------编程问答-------------------- 如果看会VBA编程就很容易了 --------------------编程问答-------------------- 请问解决了吗?求共享! --------------------编程问答--------------------
AddHandler pinyinDialog.Ev_Event, AddressOf EventHandler

改为
pinyinDialog.Display

试试。
删除:
Sub EventHandler()
 SendKeys "{ENTER}"
End Sub
补充:VB ,  VBA
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,