word录制宏为整篇word文档加拼音标注的方法
发布时间:2023-05-30 17:46:30
这篇文章主要介绍了为整篇word文档加拼音标注的方法(word录制宏),需要的朋友可以参考下
打印一篇童话,突然想到如果为童话加上标音会更适合小孩阅读,就试图为整篇文档加拼音标注,但结果令我失望,微软的word加拼音有字数限制,每次只能为几十个字加拼音标注,如果以这种方式为一篇几千字的童话加拼音,工作量将会令人无法忍受。为此,我决定为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文字加上标音标注
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


猜你喜欢
- 本次Excel教程,教大家如何在表格中设置混合条件排序的方法,学会这个混合条件排序,大大为我们的工作节省了时间,那既然这么实用,那我们就一起
- 我们在操作电脑系统的过程中,很多朋友会在电脑中刻录CD视频。但是有时候出于保护电脑隐私的考虑,不想其他人在电脑中刻录CD,这时候就可以设置禁
- 随着WPS Office手机版的功能越来越强大,带给我们的便利也越来越多,今天和大家分享的就是如何在WPS Office手机版里使用PDF签
- win10企业版安装CAD Electrical2016提示缺少.net4.5该怎么办?win10系统中安装cad的时候出现一个问题,该怎么
- 马桶MT怎么设置交易密码?马桶MT是一款非常好用的社交软件,用户们可以在里面发布动态和跟陌生好友进行聊天,那么在马桶MT中要怎么设置交易密码
- 微信新表情中有个很可爱的小狗头,不过许多用户不知道这个表情是什么意思,别关系,今天就给你们带来了微信新表情小狗意思详情,快来一起了解一下吧。
- Mac电脑上的聚焦功能可以让您在Mac上搜索几乎所有内容,从而轻松找到所需的内容。如果您在某个位置有敏感文档而又不想被搜索,则可以告诉Spo
- 如何让Word文档双页显示呢?接下来,小编给大家分享下简单的操作方法,轻松完成Word文档的双页显示。首先打一个Word文档,系统默认为单页
- 一直以来用户在面对许多的办公软件时会选择使用wps这款办公软件,一直以来用户在wps软件中来编辑wps软件时收获到了许多实用的功能,这些功能
- 很多用户在安装完Windows11系统后,却不知道如何创建和删除本地账户,接下来为大家介绍Win11如何创建和删除本地账户的方法,一起来看看
- U盘是我们最常用的工具,当U盘发生不可修复的问题,通常我们会选择格式化U盘,而格式化又分为高级和低级格式化。通常大家选择低级格式化U盘的方法
- 一个工作簿中默认只有3个工作表,我们可以创建很多个,如果一个工作簿中有多个工作表,除了通过更改工作表标签名称来进行区分,还可以更改excel
- 在安装系统的过程中,可能由于某些原因出现windows无法安装的情况,还弹出“计算机意外地重新启动或遇到错误,windows无法安装”的提示
- 我们之前陆续为大家奉上了简体中文、英文版的Windows 10周年更新版ISO安装镜像,如果你还需要其他语言,下面就来看看Win10官方最新
- 你的Windows10版本即将终止服务怎么解决?最近有用户在使用Win10系统的时候,在Win10系统的新通知中提示Win10当前版本即将终
- 在SSD上,Windows 7将自动禁用磁盘碎片整理功能,由于SSD出色的随机读取/写入性能,类似于磁盘碎片整理这样的功能已经没多大作用了。
- 有用户打开Windows安全中心报错,收到提示“需要使用新应用以打开此windowsdefender链接”,这是怎么回事?经过小编查询,整理
- 数值参考自0起始折线图具有良好的趋势诉求表达,同时兼具差异诉求表达。图8.1-5的案例中,左侧初始数据形态图表,由于视觉无法定位在数据差异上
- 咱们在 操纵WPS表格与Excel表格 停止 一样平常办公时, 常常 需求 使用到 林林总总的函数, 许多函数 咱们都不 怎样 理解, 好比
- PP助手是一款非常不错的安装应用的软件,不过最近有网友反馈安装PP助手(Win)版正版应用程序后无法使用iTunes同步应用程序,这是怎么回