怎么为整篇word文字添加拼音标注
发布时间:2023-12-12 05:02:49
由于对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文字加上标音标注 Dim tintTreatingCount As Integer Dim tstrCharA As String Dim tlngCurPos As Long Dim tintA As Integer Selection.WholeStory tstrText = Selection.Text tintTextLength = Selection.Characters.Count tintlinestart = 1 tintTreatingCount = 0 Selection.GoTo What:=wdGoToHeading, Which:=wdGoToAbsolute, Count:=1 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 tintTreatingCount = 0 End If Else tintTreatingCount = tintTreatingCount + 1 End If Next '为每个字都加上空格 Selection.GoTo What:=wdGoToHeading, Which:=wdGoToAbsolute, Count:=1 'Selection.HomeKey unit:=wdStory 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 |
猜你喜欢
- 关注职场办公,分享实用干货,洞察科技资讯!大家好,这里是职场科技范~要说Word中哪个快捷键最好用,那一定是万物皆可的F4键,应用场景实在是
- 当我们重新加载win10操作系统时,我们发现在进入磁盘分区步骤时,系统提示我们无法创建新分区或找到现有分区。在这种情况下,小编认为可以尝试重
- word文档怎么改变单元格中的文字方向方法:1、打开word2007版,输入如图所示文字内容”word文字方向“。
- 用户在使用win10系统的过程中,需要剔除某些文件夹的时候提示到拒绝访问文件夹,导致无法删除多余文件,那文件夹访问被拒绝要怎么处理解决呢?一
- word怎么插入图片1、打开 word文档,如果桌面有word图标,双击图标即可打开。 2、点击:插入——图片——来自文件,打开插入图片窗口
- 显示或隐藏某些工具栏,操作步骤如下所述:第1步,在Word窗口中依次单击“视图”→“工具栏”菜单命令,打开“工具栏”子菜单。第2步,在Wor
- 打开Word 2003,点击菜单栏的“格式”按钮,在下拉列表选择“项目符号和编号”如图所示随即出现“项目符号和编号”对话框,切换到“编号”栏
- WPS热点如何关闭工具/原料WPS软件一周不在弹出设置在WPS热点右上角点齿轮图标——选“一周不在弹出”。(这里我的会自动跳回到当天显示)
- 选中你所打印的范围,点击“页面布局-打印区域-设置打印区域”就可以了。可以在打印对话框中设置,其具体的设置方法:1、单击窗口左上角的offi
- 有很多用户经常会更新自己所使用的的系统,而最近有部分用户发现自己在更新后蓝牙就连不上,一般情况都是设置上的问题,不会出现更新系统让硬件损坏的
- 金山词霸屏幕取词怎么用?金山词霸有个很牛的功能就是屏幕中的词都能翻译出来,在不认识的单词上停留,可以自动翻译成中文(或其他语言),今天我们就
- 微软公司还对win10当前最新的操作系统进行了不断升级和改进。所以根据小编最近了解到的消息,对于这次KB4532693补丁更新了什么,除了以
- 您的 Office 365 组织中的用户帐户可能已从组织提供的许可计划中分配到部分或全部可用的许可证,或者未分配到任何许可证。您可以使用 O
- win10电脑怎么修改文件后缀名?最近很多小伙伴询问小编关于修改文件属性,也是就是修改win10文件后缀名的相关方法,因为有一些文件在电脑上
- 锐14是惠普旗下一款性价比较高的电脑,不仅接口数量较多,而且还有高亮度屏,能够满足绝大部分用户办公和使用需求,那么这台笔记本应该如何去进行重
- 视频卡是每台电脑的一个非常重要的功能。视频卡通过一系列的数学运算计算屏幕上每个像素的颜色显示。许多合作伙伴的计算机是双显卡。玩游戏时很难玩游
- 相信大家在使用win10系统的电脑时会想着原来的屏幕太小,想要外接一个新的屏幕,但新的屏幕却无法正常切换,那么今天小编就带来一个win10双
- microsoft project 2016是微软发行的一款项目管理软件,近日,很多网友问小编project2016怎么激活?今天小编就给大
- win10系统是目前使用人数最多的一款操作系统,它自带全新的视觉效果,操作简单流畅,提高了用户体验,增强了系统的安全性。接下来,我就给大家分
- 怎么提取pdf文件中的页面来生成新PDF?需要一个pdf中的几个页面,将这几页单独做成pdf文件,该怎么实现呢?今天我们就来看看使用PDF2