怎么为整篇word文字添加拼音标注

由于对word宏命令不太熟悉,我将个任务分解为三部分,第一,了解光标的移动指令;第二,了解加拼音的命令;第三,对排版进行一些美化调整。

第一点,并不复杂,简单录制一个宏,移动一下光标,就很清楚地看到移动的指令了。

Selection.MoveRightunit:=wdCharacter,Count:=1,Extend:=wdExtend

接下来,我在msdn简单浏览了一下selection对象以及一些move前缀的方法,初步了解了一些移动的指令。

第二点,我右键点了下菜单,在自定义菜单中找了“拼音标准”对应的命令FormatPhoneticGuide,以此为关键字进行搜索,很快就得到了在宏中使用的简单调用方法,但这个方法我觉得不科学,如果有软件处理响应时间跟不上,很容易就会崩溃,但没找到更好的方法:

SendKeys"{enter}",2‘模拟键盘输入,2是等待时间,因为加拼音标注的对话框调用在后面,为了正确向它发出回车键信息,要等几秒,事实上这个值越大越安全,但等待时间太长会影响程序的运行效率,这个方法我认为不太好,但没有找到FormatPhoneticGuide的其它信息,也就将就使用这个笨方法了!Application.RunMacroName:="FormatPhoneticGuide"

第三点,为了让加了拼音后的文字容易阅读,我决定每个字之间都加上一个空格,否则的话,拼音全挤在一起,会令小孩在拼读时迷惑,这相当简单,录制一个宏,就按一下键盘箭头右移动,然后打个空格就好了,在程序中可以将这个动作循环一下。

Addpinyin的宏很快就写好,我一句句单步了一下,没有什么意外,效果还不错,直接上结果图。喜欢的朋友可以也可以看看完整的宏代码。

代码如下复制内容

Sub AddPinYin()

'Author:MissileCat Date:20140410 version:1.0.0

' Addpinyin 宏

'为一篇完整的word文字加上标音标注</p> <p> Dim tintTreatingCount As Integer

Dim tstrCharA As String

Dim tlngCurPos As Long

Dim tintA As Integer</p> <p>

Selection.WholeStory

tstrText = Selection.Text

tintTextLength = Selection.Characters.Count

tintlinestart = 1</p> <p> tintTreatingCount = 0</p> <p> Selection.GoTo What:=wdGoToHeading, Which:=wdGoToAbsolute, Count:=1</p> <p> Selection.MoveRight unit:=wdCharacter, Count:=1, Extend:=wdExtend

Selection.GoTo What:=wdGoToHeading, Which:=wdGoToAbsolute, Count:=1

For tintloopx = 1 To tintTextLength

tlngCurPos = Selection.MoveRight(unit:=wdCharacter, Count:=1, Extend:=wdExtend)

tstrCharA = Right(Selection.Text, 1)

If AscW(tstrCharA) < 255 And AscW(tstrCharA) > -255 Then

If tintTreatingCount > 0 Then

tintA = Len(Selection.Text)

SendKeys "{enter}", 2

Application.Run MacroName:="FormatPhoneticGuide"

Selection.MoveRight unit:=wdCharacter, Count:=tintA</p> <p> tintTreatingCount = 0</p> <p> End If

Else

tintTreatingCount = tintTreatingCount + 1

End If

Next</p> <p> '为每个字都加上空格

Selection.GoTo What:=wdGoToHeading, Which:=wdGoToAbsolute, Count:=1</p> <p> 'Selection.HomeKey unit:=wdStory</p> <p> For tintloopx = 1 To tintTextLength

Selection.MoveRight unit:=wdCharacter, Count:=1

Selection.TypeText Text:=" "

Next

MsgBox "任务成功完成"

' .Range.PhoneticGuide Text:="lǐ", Alignment:= _

' wdPhoneticGuideAlignmentOneTwoOne, Raise:=15, FontSize:=8, FontName _

' :="宋体"

End Sub

(0)

相关推荐

  • word录制宏为整篇word文档加拼音标注的方法

    打印一篇童话,突然想到如果为童话加上标音会更适合小孩阅读,就试图为整篇文档加拼音标注,但结果令我失望,微软的word加拼音有字数限制,每次只能为几十个字加拼音标注,如果以这种方式为一篇几千字的童话加拼 ...

  • WPS Word文档中怎么为文字添加拼音

    今天,小编给大家介绍WPS Word文档中为文字添加拼音的方法,希望对大家有所帮助.具体如下:1. 首先,请大家在自己的电脑中找到wps Word,点击进入主界面,然后在其中新建一个新文档,或者可以直 ...

  • word中给文字添加拼音时没有显示拼音

    在Word文件中给文字添加拼音的时候,发现文字没有拼音显示出来,那么怎么办呢? 操作方法 01 Word中给文字添加上拼音要满足微软中文输入法的版本要高于3.0才行,打开输入法,发现没有  微软拼音输 ...

  • word文档怎样给文字添加拼音

    很多家长会在家自己制作拼音表来教孩子们读音认字.这就需要用到word来给文字添加拼音了. 操作方法 01 如图,先写上要添加拼音的文字. 02 然后选中文字,点击"开始"菜单下的拼 ...

  • 如何给Word2007文字添加拼音

         如何给Word2007文字添加拼音 第一步:首先打开word文档,然后输入或者复制这个字到文档空白处(只要是中华字典库里面的字体都可以),如图 第二步:然后选中这个字,接着点击工具栏&quo ...

  • Word文档中汉字怎么添加拼音标注

    Word文档中汉字怎么添加拼音标注 补充说明:在开始添加拼音之前,电脑中必须安装了微软拼音,否则你的电脑可能会没法识别的. 下面是一首李白的静夜思,本文就利用这个案例学习一下怎么为文字添加拼. 1.选 ...

  • 在Word2003文档中如何给文字添加拼音呢?

    在Word2003文档中面对陌生文字时,我们有必要给该文字加上拼音指南,这样便于他人阅读时能更好地理解文字中的意思.下面我们一起来看看Word 2003是如何给文字添加拼音的吧. 步骤 1.打开Wor ...

  • Excel2007如何为单元格中的文字添加拼音?

    很多人以为就word可以在汉字上方添加拼音,其实不然,excel中也可以,万万没想到吧,那么Excel2007如何为单元格中的文字添加拼音?下面小编就为大家详细介绍一下,来看看吧! 方法/步骤 1.启 ...

  • 如何在Word文档中添加拼音标注 Word中怎么插入横向拼音

    今天,小编给大家分享在Word文档中添加拼音标注的方法,希望对大家有所帮助.具体如下:1. 首先,请大家在自己的电脑中找到"word"软件,点击进入主界面,然后在其中打开目标文档, ...