精华内容
下载资源
问答
  • Word文档怎么添加拼音给文字注音

    千次阅读 2020-12-24 04:10:44
    在文档中我们有时需要对个别难读的注音让人明白,或者在小学课堂中,常常需要对文章注音帮助阅读,那么在word中怎么完成这个功能呢?Word文档怎么添加拼音?1、打开Word文档。2、在该界面内输入我们需要的文字,并将...

    在文档中我们有时需要对个别难读的字注音让人明白,或者在小学课堂中,常常需要对文章注音帮助阅读,那么在word中怎么完成这个功能呢?

    Word文档怎么添加拼音?

    1、打开Word文档。

    2、在该界面内输入我们需要的文字,并将输入的文字选择起来,然后找到开始开始里的拼音指南选项。

    3、点击拼音指南选项,在弹出的对话框内我们就可以看到系统就会为我们添加上标注拼音。

    4、然后我们在下面的设置里设置参数。

    5、设置好之后点击确定,可以看到我们选择的文字上就添加了标注拼音。

    补充:word中shift和ctrl常用组合快捷键

    [shift+F2]组合键:复制文本

    [shift+F3]组合键:改变字母大小写

    [shift+F4]组合键:重复查找或定位

    [shift+F12]组合键:选择“文件”菜单中的“保存”菜单项

    [shift+F5]组合键:跳转文档中上一次编辑位置

    [shift+←] 组合键:选中光标左侧一个字符

    [shift+→] 组合键:选中光标右侧一个字符

    [shift+↑] 组合键:选中光标当前位置至上一行之间的内容

    [shift+↓] 组合键:选中光标当前位置至下一行之间的内容

    [ctri+F2] 组合键:打印预览

    [ctri+F4] 组合键:关闭窗口

    [ctri+F6] 组合键:在打开的文档之间切换

    [ctri+F12] 组合键:打开“打开”对话框

    [ctri+1] 组合键:单倍行距

    [ctri+2] 组合键:双倍行距

    [ctri+5] 组合键:1.5倍行距

    [ctri+O] 组合键:段前添加一行间距

    [ctri+A] 组合键:全选

    [ctri+B] 组合键:字符变为粗体

    [ctri+C] 组合键:复制

    [ctri+shift+D] 组合键:分散对齐

    [ctri+E] 组合键:段落居中

    [ctri+F] 组合键:查找

    [ctri+G] 组合键:定位

    [ctri+H] 组合键:替换

    [ctri+I] 组合键:字符变为斜体

    [ctri+J] 组合键:两端对齐

    [ctri+K] 组合键:超级连接

    [ctri+L] 组合键:左对齐

    [ctri+N] 组合键:新建文档

    [ctri+M] 组合键:左侧段落缩进

    [ctri+O] 组合键:打开文档

    [ctri+P] 组合键:打印

    [ctri+Q] 组合键:插入点所在行向左移动一个字符

    [ctri+Q] 组合键:取消段落格式

    [ctri+R] 组合键:右对齐

    [ctri+S] 组合键:保存

    [ctri+T] 组合键:创建悬挂缩进

    [ctri+U] 组合键:为字符添加下划线

    [ctri+V] 组合键:粘贴

    [ctri+W] 组合键:

    [ctri+X] 组合键:剪贴

    [ctri+Shift+Z] 组合键:格式清除

    [ctri+ shift] 组合键:输入法转换

    [ctri+F8] 组合键:打开“宏”的对话框

    [ctri+空格] 组合键:中、西文转换

    [ctri+Enter] 组合键:插入分页符

    [ctri+ shift+M] 组合键:取消左侧段落缩进

    [ctri+ shift+F12] 组合键:选择“文件”菜单中的“打印”菜单项

    [ctri+ shift+F] 组合键:改变字体

    [ctri+ shift+P] 组合键:改变字号

    [ctri+ shift+>] 组合键:增大字号

    [ctri+ shift

    [ctri+ shift+]] 组合键:逐磅增大字号

    [ctri+ shift+[] 组合键:逐磅减小字号

    [ctri+ shift+C] 组合键:复制格式

    [ctri+ shift+V] 组合键:粘贴格式

    [ctri+ shift+T] 组合键:减小悬挂缩进量

    [ctri+ Enter] 组合键:插入分页符

    [ctri+ shift+←] 组合键:将光标移到单词开始处

    [ctri+ shift+→] 组合键:将光标移到单词结尾处

    [ctri+ shift+↑] 组合键:将光标移到段首

    [ctri+ shift+↓] 组合键:将光标移到段尾

    相关阅读:word冷门但实用方法技巧

    1、如何快速选中文字

    按住Ctrl键,可以选中不连续的多个文字。

    按住Alt键,可以不受行的限制选中矩形区域内的文字

    按住Shift键,可以选中开始光标位置到后来光标位置间的所有文字。

    2、快速合并两个word文档

    点击菜单栏“插入”----“对象”-----“文件中的文字”,轻松实现。

    3、如何快速调整文字大小

    缩小:Ctrl+【

    放大:Ctrl+】

    4、改变word界面颜色

    经常使用word界面颜色都是比较单一,在这里我们可以改变word界面中的颜色。

    5、字体快速旋转90°

    6、快速调整段落对齐

    Ctrl+j 两端对齐

    Ctrl+e 段落居中

    Ctrl+l 左对齐

    Ctrl+r 右对齐

    展开全文
  • 而用Word文档制作的课件当然也需要在汉字上加拼音了,如果一个一个输入的话,那简直是天方夜谭。那么,有没有一种简单的方法呢?要想快捷的汉字加上拼音,方法还是有的,而且还非常的简单。Word文档软件就自带了这...

    当年,上小学的时候,语文课本上的所有文章都是汉字带拼音的,方便大家可以正确的阅读文章。而现在随着电子教学的盛行,越来越多的学校采用的都是电子教学,这就需要老师制作课件。而用Word文档制作的课件当然也需要在汉字上加拼音了,如果一个一个输入的话,那简直是天方夜谭。那么,有没有一种简单的方法呢?

    要想快捷的给汉字加上拼音,方法还是有的,而且还非常的简单。Word文档软件就自带了这个功能,一键就能搞定拼音问题。具体操作步骤是什么呢?这就是接下来小编要给大家分享的内容了,大家可以跟着一起做一遍,亲自感受下这个一劳永逸的方法。

    第一步,打开一个Word文档,进入到文字编辑页面。

    第二步,把需要的课件内容输入进去,小编就以该文章内容为例为大家说明了。

    第三步,选择一行该文档内的文字内容。

    第四步,在页面上方工具栏中点击【开始】按钮,在【字体】选项卡中找到并点击【拼音指南】按钮。

    第五步,在弹出的【拼音指南】对话框中,对拼音的参数进行设置,然后点击【确定】即可,这样就给这一行文字加上拼音了。

    可以单行的给汉字添加拼音,也可以把所有需要添加拼音的文字选中,一次性添加拼音。有这个快捷的方法,再也不用一个字一个字的去加拼音了,选中设置一下就可以全都添加完成了,超级的方便。感兴趣的小伙伴,赶紧试一下吧,WPS和office用户的操作都一样哟,方法完全可以通用。

    展开全文
  • 怎么为整篇word文字添加拼音标注

    千次阅读 2020-12-24 04:11:51
    怎么为整篇word文字添加拼音标注怎么为整篇word文字添加拼音标注 由于对word宏命令不太熟悉,我将个任务分解为三部分,第一,了解光标的移动指令;第二,了解加拼音的命令;第三,对排版进行一些美化调整。 第一点,并...

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

    怎么为整篇word文字添加拼音标注 由于对word宏命令不太熟悉,我将个任务分解为三部分,第一,了解光标的移动指令;第二,了解加拼音的命令;第三,对排版进行一些美化调整。 第一点,并不复杂,简单录制一个宏,移动一下光标,就很清楚地看到移动的指令了。 Selection.MoveRightunit:=wdCharacter,Count:=1,Extend:=wdExtend 接下来,我在msdn简单浏览了一下selection对象以及一些move前缀的方法,初步了解了一些移动的指令。 第二点,我右键点了下菜单,在自定义菜单中找了“拼...

    word

    2014/04/18

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

    word录制宏为整篇word文档加拼音标注的方法 打印一篇童话,突然想到如果为童话加上标音会更适合小孩阅读,就试图为整篇文档加拼音标注,但结果令我失望,微软的word加拼音有字数限制,每次只能为几十个字加拼音标注,如果以这种方式为一篇几千字的童话加拼音,工作量将会令人无法忍受。为此,我决定为word加一个简单的宏命令,令这个工作简单化。 由于对word宏命令不太熟悉,我将个任务分解为三部分,第一,了解光标的移动指令;第二,了解加拼音的命令;第三,对排版进行一些美化调整。 第一点并不复杂,简单录制一个宏,移动一下光标,就很清楚地看到移动的指令了。...

    word

    2013/04/11

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

    在Word2003文档中如何给文字添加拼音呢? 在Word2003文档中面对陌生文字时,我们有必要给该文字加上拼音指南,这样便于他人阅读时能更好地理解文字中的意思.下面我们一起来看看Word 2003是如何给文字添加拼音的吧. 步骤 1.打开Word 2003这款软件,进入Word 2003的操作界面,如图所示: 2.在这个编辑输入区输入一些文字,如图所示: 3.按下键盘上的Ctrl+A选择我们的文字,如图所示: 4.在上面的菜单区找到拼音指南选项,如图所示: 5.点击拼音指南选项,弹出拼音指南对话框,如图所示: 6.在这个拼音指南对话框内,...

    其他

    2016/10/15

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

    WPS Word文档中怎么为文字添加拼音 今天,小编给大家介绍WPS Word文档中为文字添加拼音的方法,希望对大家有所帮助.具体如下:1. 首先,请大家在自己的电脑中找到wps Word,点击进入主界面,然后在其中新建一个新文档,或者可以直接打开目标文档即可.2. 第二步,接下来,请大家在文中输入内容,然后将需要添加拼音的文字选中即可.3. 第三步,如图所示,我们需要选择箭头所指的[文]图标按钮.4. 第四步,此时我们已经来到了[拼音设置]页面,其中左下方为[预览],左侧是[拼音对比],当我们确认无误后,请选择[确认]按钮即可.5.第...

    其他

    2019/04/01

    如何给Word2007文字添加拼音

    如何给Word2007文字添加拼音      如何给Word2007文字添加拼音 第一步:首先打开word文档,然后输入或者复制这个字到文档空白处(只要是中华字典库里面的字体都可以),如图 第二步:然后选中这个字,接着点击工具栏"开始"下字体上面的"文",然后会弹出"拼音指南"对话框 第三步:可以不用在该对话框下做任何设置,然后直接点击"确定",然后就看到了文字的上面有了拼音 第四步:如果感觉添加的拼音字体太小或者拼音和文字之间的距离等结构不够美观,那么我们同时...

    word

    2016/11/22

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

    Word文档中汉字怎么添加拼音标注 Word文档中汉字怎么添加拼音标注 补充说明:在开始添加拼音之前,电脑中必须安装了微软拼音,否则你的电脑可能会没法识别的. 下面是一首李白的静夜思,本文就利用这个案例学习一下怎么为文字添加拼. 1.选中需要添加拼音的文字,切换到"开始"选项卡,在"字体"组中单击"拼音指南"按钮. 2.此时会弹出一个"拼音指南"对话框,所有默认的选项如下,大家如果不需要更改这些选项,直接单击"确定"按钮就可以得到如预览所示的...

    word

    2016/12/03

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

    Excel2007如何为单元格中的文字添加拼音? 很多人以为就word可以在汉字上方添加拼音,其实不然,excel中也可以,万万没想到吧,那么Excel2007如何为单元格中的文字添加拼音?下面小编就为大家详细介绍一下,来看看吧! 方法/步骤 1.启动excel2007程序,新建一张空白表格,今天要探讨如何给文字注音问题. 2.为了给拼音腾出空间,先设置一下表格的行高和列宽.右击第一行行号,选择行高,输入30,确定. 3.同样的,右击A列列号,选择列宽,输入20,单击确定.这样行高.列宽就设置好了. 4.把字号调整为12磅,输入“金笔小六”四个...

    其他

    2016/02/03

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

    如何在Word文档中添加拼音标注 Word中怎么插入横向拼音 今天,小编给大家分享在Word文档中添加拼音标注的方法,希望对大家有所帮助.具体如下:1. 首先,请大家在自己的电脑中找到"word"软件,点击进入主界面,然后在其中打开目标文档,接着输入文字,完成后请选择屏幕中字体一栏的加拼音即可.2. 第二步,我们来到如图所示的新界面,请选择其中的[确定]选项.3.第三步,如图所示,我们的文字已经成功加上了拼音,有的朋友横向加拼音,请大家选中文字,然后进行复制.4. 第四步,我们来到如图所示的新界面,请大家复制这个加拼音的文字内容,只需右击然后选择...

    其他

    2019/03/09

    如何给word文档中的文字添加拼音

    如何给word文档中的文字添加拼音 方法/步骤 首先,打开word文档,然后输入或者复制这个字到文档空白处,如图 然后选中这个字,接着点击工具栏"开始"下字体上面的"文",然后会弹出"拼音指南"对话框 我们可以不用在该对话框下做任何设置,然后直接点击"确定",然后就看到了文字的上面有了拼音 如果感觉添加的拼音字体太小或者拼音和文字之间的距离等结构不够美观,那么我们同时选择文字和拼音,依旧点击刚才的"文",就可以调整字体大小.字号以及两者之间的...

    word

    2016/07/26

    ppt中怎么制作给田字格里的文字添加拼音的动画?

    ppt中怎么制作给田字格里的文字添加拼音的动画? 语文上新课,课件中常常需要为生字添加拼音.这其中又常会遇到两个问题:声调的标注,拼音a.g正确的.非英文形式的写法.怎样解决呢.跟我来看看吧.涉及田字格的制作.字号的更改.拼音的三种添加方法. 一.绘制一个田字格 1.视图菜单里打开网格线.插入——形状——矩形.按住shift键拉出一个正方形. 2.右键——点开填充下拉箭头——无填充颜色. 3.直线工具,按住shift键,画出田字格的横线. 4.右键——设置形状格式——线型,宽度2磅,短划线类型选短划线.线条颜色选深蓝. 5.复制横线,格式工具栏...

    其他

    2016/06/30

    用WPS文字隐藏文字添加拼音 制作语文考卷不用愁

    用WPS文字隐藏文字添加拼音 制作语文考卷不用愁 小编将通过WPS文字在制作语文考卷时的实际运用,来为大家介绍如何在WPS文字中隐藏文字和添加拼音。 1、隐藏文字 在作业与测试中,经常需要学生们填空,有时没有标准答案,可以随意填写,批改作业与试卷时也可以灵活操作。而有时必须填写标准答案,这在批改作业与试卷时就不可随意了,要与标准答案比对评判,我们手上就需要有一份带标准答案的底稿了。 方法一:其实制作过程也挺简单,就是在试卷制作时,先按正常操作执行,制作完成后,将答案部分隐藏起来就行了,先用左手按下Ctlr键,再用鼠标依次选择我们...

    wps

    2013/04/23

    WPS文字隐藏文字添加拼音 制作语文考卷不用愁

    WPS文字隐藏文字添加拼音 制作语文考卷不用愁 小编将通过WPS文字在制作语文考卷时的实际运用,来为大家介绍如何在WPS文字中隐藏文字和添加拼音。 1、隐藏文字 在作业与测试中,经常需要学生们填空,有时没有标准答案,可以随意填写,批改作业与试卷时也可以灵活操作。而有时必须填写标准答案,这在批改作业与试卷时就不可随意了,要与标准答案比对评判,我们手上就需要有一份带标准答案的底稿了。 方法一: 其实制作过程也挺简单,就是在试卷制作时,先按正常操作执行,制作完成后,将答案部分隐藏起来就行了,先用左手按下Ctlr键,再用鼠标依次选择我们要隐藏的答案部...

    wps

    2015/01/31

    word文字加拼音后怎么调格式

    word文字加拼音后怎么调格式 在word文档中给文字加上拼音一般有两种现象,一是工作学习需要,二是不认识这个字!给文字加拼音相信不少人都学会了,那加完拼音之后要如何调整格式呢? 选中要加拼音的部分,点击工具栏里的拼音功能 在拼音指南里,我们可以设置拼音的对齐方式,偏移量,字体,字号等 确定之后,拼音就设置好了 这时候我们按照原本设置格式的方式修改即可,大小.字体等,拼音是不受影响的...

    其他

    2017/05/28

    wps文章中的文字怎么添加拼音标注?

    wps文章中的文字怎么添加拼音标注? wps文字怎么添加拼音的标注?下面我们就来看看详细的教程, 1.首先我们要选中我们需要标注拼音的文字. 2.点击“wps文字(倒三角)”-“格式”-“中文版式”-“拼音指南” 3.在拼音指南中我们可以对拼音的“对齐方式”.“字体”.“字号”和“偏移量”进行设置.如果没有特殊要求,一般取默认值即可. 4.单击“拼音指南”下方的确定即可. 5.拼音标注的效果. 6.取消标注好的拼音的方法则是,选中已经标注好的拼音文字. 7.点击“wps文字(倒三角)”-“格式”-“中文版式”-“拼音指南” 8.在“...

    其他

    2017/03/12

    word怎么设置文字倒影效果? word文字添加倒影的教程

    word怎么设置文字倒影效果? word文字添加倒影的教程 在制作文档时,有时候我们需要特殊的文字效果来增强文档的趣味性,给读者耳目一新的感觉,今天小编给大家讲解word如何制作文字倒影效果. 1.打开一篇文档,选中想要制作倒影效果的文字.如图所示: 2.右键点击选中的文字,在弹出菜单中选择”字体“并点击它.如图所示: 3.在弹出的对话框中,点击最下面的”文字效果“.如图所示: 4.在”设置文本效果格式“对话框中,点击”效果“.如图所示: 5.在”倒影“效果中,设置倒影变体的样式(全倒影)后,系统就会自动设置合适的大小.透明度.模糊度和距离的参数.如图所...

    其他

    2016/11/15

    word中怎么给文字添加边框? word文字添加边框的教程

    word中怎么给文字添加边框? word文字添加边框的教程 我们在写文档的时候,如果有一段文字是用来做总结的,或者特别重要的,我们想给这段文字加上边框,醒目显示,应该怎样操作呢?下面举例说明. 1.打开WORD软件 2.我们随便输入什么字符 3.选中需要加边框的字符 4.鼠标上移到功能区,选择字符边框,如图 5.单击这按钮,得到效果 特别说明: 1.如果在插入边框后还想在紧挨边框位置插入字符的,又不想要边框记得在点击下字符边框按钮,否则,新加入的字符也会包含在边框里 2.点击后就不会有了...

    其他

    2016/12/24

    20个Word文字处理技巧的详细介绍

    20个Word文字处理技巧的详细介绍 1. 去除页眉的横线方法两则在页眉插入信息的时候经常会在下面出现一条横线,如果这条横线影响你的视觉,这时你可以采用下述的两种方法去掉:用第一种的朋友比较多,即选中页眉的内容后,选取“格式”选项,选取“边框和底纹”,边框设置选项设为“无”,“应用于”处选择“段落”,确定即可。 第二种方法更为简单,当设定好页眉的文字后,鼠标移向“样式”框,在“字体选择”框左边,把样式改为“页脚”、“正文样式”或“清除格式”,便可轻松搞定。 2. 在Word中快速选择字体为了能够快速地选择字体,我们可...

    word

    2013/05/15

    如何给word文档加密?给word文档加密的详细步骤

    如何给word文档加密?给word文档加密的详细步骤 在编辑一些非常重要的Word文档时,特别是一些机密的文档,给Word文档加上密码是一项非常有用的功能,也是一项安全的保障。为了防止他人看见内容,我们必须给Word文档加上密码。给Word文档加密后任何人必须输入正确的密码后才可以查看内容。 下面分享给word文档加密的方法,分别介绍word2003和word2007的方法。 word2003文档加密方法在Word2003中单击菜单栏上的【工具】 选择【选项】打开,会弹出一个对话框。 在弹出的对话框中选择【安全性】点击。 打开后找【此文档的文件加密...

    word

    2013/03/06

    windows8系统怎么添加网络打印机详细步骤图解

    windows8系统怎么添加网络打印机详细步骤图解 首先,在浏览器通过打印机IP查看打印机是否连线: 为保证能够顺利安装网络打印机,有必要先取消防火墙: 然后再在WIN8桌面下按WIN+X组合键,选择“控制面板”: 在弹出的窗口中单击“查看设备和打印机”链接: 再单击最顶部的“添加打印机”按钮: 在弹出的添加打印机”对话框第一个步骤中,选择“以管理员身份添加本地或网络打印机”: 然后再点击“添加本地打印机”: 在弹出的窗口中,选择“创建新端口”,再选择“端口类型”为“Standard TCP/IP Port”,点击“下一上”按钮即可: 在弹出的窗...

    windows8

    2013/06/09

    添加网络打印机详细步骤

    添加网络打印机详细步骤 如何添加网络打印机?首先在“开始”菜单中“设置”中点“打印机和传真”,打开菜单,左上角有个“添加打印机”,选中,出现“打印机向导”单击下一步,然后选择:网络打印机或连接到另一台计算机的打印机,单击下一步,点浏览打印机,选择对方的打印机,或直接输入对方打印机位置及型号,然后下一步,完成就可以了。这样就可以使用打印服务器将无网络接口的打印设置为真正的网络打印机。 解决方法与步骤: 步骤一: 配置打印服务器,给打印机分配IP 1.第一次使用或更改IP时需要在同网段内任一台电脑中安装打印服务器设置程序。...

    打印机

    2013/10/17

    展开全文
  • 缘起:师兄发起印经,需要给word电子版的经书全文注音。(新增golang版本的程序;比vba快,大文档用vba的能跑好几天,用golang的几秒就处理完,还不会因为中文标点出错;另有修改指定词组读音等程序;请参看:word...

    缘起:师兄发起印经,需要给word电子版的经书全文加注音。

    (新增golang版本的程序;

    比vba快,大文档用vba的能跑好几天,

    用golang的几秒就处理完,还不会因为中文标点出错;

    另有修改指定词组读音等程序;

    请参看:

    word自带的加注音只能一次加30个字,一本经书有两万四千多字。网上找了下,好像没有现成的软件,但是python可以很简单的把汉字转换成带声调的拼音。再结合office的vba宏录制,摸索了一下,弄出了个批量给word加注音的脚本。分享如下:

    效果

    一、python汉字转拼音

    1.首先需要下载、安装python环境。我安装的python3.8版本。这一步很简单,搜索一下,下载安装就可以了。【记得安装过程中,把“加入环境变量”这个选项勾上。】

    2.安装python的拼音库

    网上有两个版本的python汉字转拼音的demo,一个是基于pypinyin库的,另一个是基于xpinyin库的。

    基于xpinyin库的试出来拼音不带声调,后来用的pypinyin库。

    安装完python之后,打开命令行(CMD),输入如下安装命令:

    pip install pypinyin

    然后等待安装完成。这个过程需要联网。

    3.将下面代码复制下来,保存到D盘下,名为wordTOPinyin.py,即:(d:/wordToPinyin.py)。

    (保存路径可以是其它,但需要同时修改后面VBA代码中脚本的路径)

    import sys, getopt

    import pypinyin

    word = sys.argv[1:]

    s = ''

    for i in pypinyin.pinyin(word):

    s = s + ''.join(i) + " "

    print(s)

    二、VBA宏,给汉字加注音

    MS office默认就安装了VBA开发环境,用Alt+F11打开VBA编辑器。

    WPS需要单独安装一个VBA_for_WPS的包,需要网上找一下。也是用Alt+F11打开VBA编辑器。

    VBA代码:

    Attribute VB_Name = "wordToPinyinByBlockSpecified"

    Option Explicit

    Public Declare Function timeGetTime Lib "winmm.dll" () As Long

    Public g_manualCharSet As Object

    Public g_specifiedCharSet As Object

    Public g_exceptionCharSet As Object

    Function isNeedZhuyin(ByVal tmpChar) As Boolean

    ' 非汉字,跳出

    If LenB(StrConv(tmpChar, vbFromUnicode)) <> 2 Then

    isNeedZhuyin = False

    Exit Function

    End If

    ' 手动指定字符 和 例外字符 两种模式,有点像黑白名单,没有做成优先级的方式,简单点,二选一就可以了

    If True Then

    ' 特殊符号不需要加注音,跳出

    If "" <> g_exceptionCharSet(tmpChar) Then

    isNeedZhuyin = False

    Exit Function

    End If

    isNeedZhuyin = True

    Exit Function

    Else

    '是指定的字才加注音

    If "" <> g_specifiedCharSet(tmpChar) Then

    isNeedZhuyin = True

    Exit Function

    End If

    isNeedZhuyin = False

    Exit Function

    End If

    End Function

    Function initExceptionCharSet()

    Set g_exceptionCharSet = CreateObject("Scripting.Dictionary")

    '不需要加注音的字符,加到这个集合里

    g_exceptionCharSet.Add "。", "ok"

    g_exceptionCharSet.Add ",", "ok"

    g_exceptionCharSet.Add "、", "ok"

    g_exceptionCharSet.Add ";", "ok"

    g_exceptionCharSet.Add "…", "ok"

    g_exceptionCharSet.Add "?", "ok"

    g_exceptionCharSet.Add "(", "ok"

    g_exceptionCharSet.Add ")", "ok"

    g_exceptionCharSet.Add "(", "ok"

    g_exceptionCharSet.Add ")", "ok"

    g_exceptionCharSet.Add ":", "ok"

    g_exceptionCharSet.Add ":", "ok"

    g_exceptionCharSet.Add " ", "ok"

    g_exceptionCharSet.Add "[", "ok"

    g_exceptionCharSet.Add "]", "ok"

    g_exceptionCharSet.Add "-", "ok"

    g_exceptionCharSet.Add "+", "ok"

    g_exceptionCharSet.Add "*", "ok"

    g_exceptionCharSet.Add "《", "ok"

    g_exceptionCharSet.Add "》", "ok"

    g_exceptionCharSet.Add "【", "ok"

    g_exceptionCharSet.Add "】", "ok"

    g_exceptionCharSet.Add "“", "ok"

    g_exceptionCharSet.Add "”", "ok"

    g_exceptionCharSet.Add "—", "ok"

    g_exceptionCharSet.Add Chr$(9), "ok"

    g_exceptionCharSet.Add Chr$(10), "ok"

    g_exceptionCharSet.Add Chr$(13), "ok"

    '下面是手动注音的字,多音字可以放到这里先不注音,后面再逐一手动注音

    'g_exceptionCharSet.Add "夫", "ok"

    'g_exceptionCharSet.Add "还", "ok"

    End Function

    Function initManualCharSet()

    Set g_manualCharSet = CreateObject("Scripting.Dictionary")

    '如果一个字,不是所有出现的地方都相同发音,那就需要后期手动修改

    'g_manualCharSet.Add "南", "ná"

    'g_manualCharSet.Add "无", "mó"

    'g_manualCharSet.Add "唵", "ong"

    'g_manualCharSet.Add "尽", "jìn"

    g_manualCharSet.Add "藏", "zàng"

    g_manualCharSet.Add "佛", "fó"

    g_manualCharSet.Add "刹", "chà"

    g_manualCharSet.Add "甚", "shèn"

    g_manualCharSet.Add "牟", "móu"

    g_manualCharSet.Add "散", "sǎn"

    g_manualCharSet.Add "调", "tiáo"

    g_manualCharSet.Add "行", "xínɡ"

    End Function

    Function initSpecifiedCharSet()

    Set g_specifiedCharSet = CreateObject("Scripting.Dictionary")

    g_specifiedCharSet.Add "伽", "ok"

    g_specifiedCharSet.Add "梵", "ok"

    'g_specifiedCharSet.Add "乐", "ok"

    g_specifiedCharSet.Add "苾", "ok"

    g_specifiedCharSet.Add "刍", "ok"

    End Function

    Function getPinyin(ByVal text As String) As String

    Dim Result As String

    Dim cmd As String

    Dim wExec As Object

    Dim shellObj As Object

    Set shellObj = CreateObject("WScript.Shell")

    'cmd = "C:\Users\taihang\appdata\local\programs\python\python37\pythonw.exe D:\wordToPinyin.py "

    cmd = "pythonw D:\wordToPinyin.py " & text

    Set wExec = shellObj.Exec(cmd)

    Result = wExec.StdOut.ReadAll

    '如果运行时同时做其它操作,这里有时候会中段,可能是什么信号,懒得处理了,F5继续运行就可以了

    '去掉空格和后面的换行,否则注音显示会歪向左边

    ' spaceIdx = InStr(Result, " ")

    ' If 0 <> spaceIdx Then

    ' Result = Mid(Result, 1, spaceIdx - 1)

    ' End If

    getPinyin = Result

    Set wExec = Nothing

    Set shellObj = Nothing

    End Function

    Function isExceptionChar(ByVal char As String) As Boolean

    '有些字符不需要加注音

    If "" <> g_exceptionCharSet(tmpChar) Then

    isExceptionChar = True

    Else

    isExceptionChar = False

    End If

    End Function

    Function getManualPinyin(ByRef tmpChar As String, ByRef charPinyin As String)

    Dim tmpPinyin As String

    tmpPinyin = g_manualCharSet(tmpChar)

    If "" <> tmpPinyin Then

    charPinyin = tmpPinyin

    End If

    End Function

    Function countChar(areaStart As Long, areaEnd As Long)

    '手动算字数

    Dim charNum As Long

    '全选时要修正一下结束位置,否则全选时会死循环结束不了

    Selection.EndKey unit:=wdStory

    docEnd = Selection.End

    If docEnd < areaEnd Then

    areaEnd = docEnd

    End If

    '恢复光标到起始位置

    Selection.Start = areaStart

    Selection.End = areaStart

    charNum = 0

    Do While Selection.End < areaEnd

    If charNum Mod 256 = 0 Then

    ' 防止假死

    DoEvents

    'Debug.Print "正在计算字数: " & Selection.End & "/" & areaEnd & " 百分比:" & Format((Selection.End - areaStart) / (areaEnd - areaStart), "Percent") & "%"

    End If

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

    charNum = charNum + 1

    Loop

    countChar = charNum

    End Function

    Function showDebugLog(ByVal prompt As String, _

    ByVal allBeginTimeSec As Double, ByVal allDoneCount As Long, ByVal allNum As Long, _

    ByVal phaseBeginTimeSec As Double, ByVal phaseDoneCount As Long, ByVal phaseNum As Long)

    Dim nowTimeSec As Double

    Dim allAvrCharCount As Double

    Dim allCostTimeSec As Double

    Dim phaseAvrCharCount As Double

    Dim phaseCostTimeSec As Double

    Dim tmpMS As Long

    'tmpMS = timeGetTime()

    If (0 = allDoneCount) Or (0 = phaseDoneCount) Then

    Exit Function

    End If

    nowTimeSec = Timer()

    allCostTimeSec = nowTimeSec - allBeginTimeSec

    If 0 <> allCostTimeSec Then

    allAvrCharCount = allDoneCount / allCostTimeSec

    Else

    allAvrCharCount = 1

    End If

    phaseCostTimeSec = nowTimeSec - phaseBeginTimeSec

    If 0 <> phaseCostTimeSec Then

    phaseAvrCharCount = phaseDoneCount / (nowTimeSec - phaseBeginTimeSec)

    Else

    phaseAvrCharCount = 1

    End If

    Debug.Print prompt & " all:" & Format(allCostTimeSec / 24 / 3600, "hh:mm:ss") & _

    " " & Format((allNum - allDoneCount) / allAvrCharCount / 24 / 3600, "hh:mm:ss") & _

    " " & allDoneCount & "/" & allNum & _

    " " & Format(allAvrCharCount, "Standard") & "words/second" & _

    " " & Format(allDoneCount / allNum, "Percent") & _

    " phase:" & Format(phaseCostTimeSec / 24 / 3600, "hh:mm:ss") & _

    " " & Format((phaseNum - phaseDoneCount) / phaseAvrCharCount / 24 / 3600, "hh:mm:ss") & _

    " " & phaseDoneCount & "/" & phaseNum & _

    " " & Format(phaseAvrCharCount, "Standard") & "words/count" & _

    " " & Format(phaseDoneCount / phaseNum, "Percent")

    End Function

    Sub addPinyin()

    '给选中区域加注音

    '避免被系统信号打断,好像有点效果

    Application.EnableCancelKey = False

    Dim blockCharLimit As Long

    '可自行修改每次处理的字符数量的大小

    blockCharLimit = 100

    Dim textForPinyin As String

    Dim tmpChar As String

    Dim pinyin As String

    Dim blockText As String

    Dim cursor1 As Long

    Dim cursor2 As Long

    Dim areaStart As Long

    Dim areaEnd As Long

    Dim docEnd As Long

    Dim lastPos As Long

    Dim blockAddedCharCount As Long

    Dim charPinyin As String

    Dim pinyinNum As Long

    Dim blockStart As Long

    Dim blockEnd As Long

    Dim blockReadCharCount As Long

    Dim blockReadMovedCharCount As Long

    Dim blockAddMovedCharCount As Long

    Dim allReadMovedCharCount As Long

    Dim charNum As Long

    Dim allAddedMovedCharCount As Long

    Dim costTimeSec As Double

    Dim avrCharCount As Double

    Dim mainLoopCount As Long

    Dim logContent As String

    Dim appBeginTimeSec As Double

    Dim endTimeSec As Double

    Dim tmpTimeSec As Double

    Dim blockBeginTimeSec As Double

    Dim addBeginTimeSec As Double

    'charNum =countChar(areaStart, areaEnd)

    charNum = Selection.Characters.Count

    areaStart = Selection.Start

    areaEnd = Selection.End

    appBeginTimeSec = Timer()

    initManualCharSet '手动指定的读音

    initSpecifiedCharSet '需要加读音的字

    initExceptionCharSet ' 例外字符

    Dim pinyinArr() As String

    Debug.Print ""

    ' test

    'textForPinyin = getPinyin("】")

    ' 收集需要加注音的字

    textForPinyin = ""

    blockText = ""

    allReadMovedCharCount = 0

    mainLoopCount = 0

    'blockStart = areaStart

    allAddedMovedCharCount = 0

    blockEnd = areaStart

    Selection.Start = areaStart

    Selection.End = areaStart

    Do While (allReadMovedCharCount < charNum)

    blockBeginTimeSec = Timer()

    '防止假死

    DoEvents

    mainLoopCount = mainLoopCount + 1

    Debug.Print "begin to collect words"

    blockStart = Selection.End

    Selection.Start = blockStart

    'blockLoopCount = 0

    blockText = ""

    blockReadCharCount = 0

    blockReadMovedCharCount = 0

    Do While (allReadMovedCharCount < charNum)

    '防止假死

    DoEvents

    '进度显示

    If allReadMovedCharCount Mod 64 = 0 Then

    showDebugLog "step1/2 collect words", appBeginTimeSec, allReadMovedCharCount + 1, charNum, blockBeginTimeSec, blockReadCharCount + 1, blockCharLimit

    End If

    ' 找句末,非汉字,或者不需要加注音的符号

    'Do While (allReadMovedCharCount < charNum) And (blockReadCharCount < blockCharLimit)

    '防止假死

    'DoEvents

    lastPos = Selection.End

    Selection.Start = Selection.End

    '光标往下移一个字

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

    Selection.Start = lastPos

    allReadMovedCharCount = allReadMovedCharCount + 1

    blockReadMovedCharCount = blockReadMovedCharCount + 1

    tmpChar = Selection.text

    If True = isNeedZhuyin(tmpChar) Then

    blockText = blockText + tmpChar

    blockReadCharCount = blockReadCharCount + 1

    ElseIf (blockCharLimit <= blockReadCharCount) Then

    ' 达到限制后,遇到句末才结束。python汉字转语音模块,多音字会根据词自动选择相应的读音

    Exit Do

    End If

    'Loop

    Loop

    blockEnd = Selection.End

    pinyin = getPinyin(blockText)

    pinyinArr = Split(pinyin, " ")

    pinyinNum = UBound(pinyinArr) + 1

    Debug.Print "begin to add pinyin"

    addBeginTimeSec = Timer()

    ' add pinyin word by word

    charPinyin = ""

    Selection.Start = blockStart

    Selection.End = blockStart

    blockAddedCharCount = 0

    blockAddMovedCharCount = 0

    Do While (blockAddMovedCharCount < blockReadMovedCharCount)

    '防止假死

    DoEvents

    '进度显示

    If blockAddedCharCount Mod 16 = 0 Then

    showDebugLog "step2/2 add pinyin", appBeginTimeSec, allAddedMovedCharCount + 1, charNum, addBeginTimeSec, blockAddMovedCharCount + 1, blockReadMovedCharCount

    End If

    allAddedMovedCharCount = allAddedMovedCharCount + 1

    blockAddMovedCharCount = blockAddMovedCharCount + 1

    Selection.Start = Selection.End

    lastPos = Selection.End

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

    Selection.Start = lastPos

    tmpChar = Selection.text

    'Debug.Print "加注音:" & blockAddedCharCount & "/" & blockReadCharCount & " " & tmpChar

    If True = isNeedZhuyin(tmpChar) Then

    charPinyin = pinyinArr(blockAddedCharCount)

    '如果是手动指定读音的字,就用手动指定的读音

    getManualPinyin tmpChar, charPinyin

    ' 不需要加注音,跳出

    'If False = isExceptionChar(tmpChar) Then

    '注音操作后,字的大小会增长,当前Selection.End等属性会自动变化

    cursor1 = lastPos

    cursor2 = Selection.End

    'cursor2 = cursor1 + 1

    With Selection

    '.text = ""

    .SetRange Start:=cursor1, End:=cursor2

    .Range.PhoneticGuide text:=charPinyin, Alignment:=wdPhoneticGuideAlignmentCenter, Raise:=19, FontSize:=10, FontName:="微软雅黑 Light"

    '.SetRange Start:=cursor1, End:=cursor2

    End With

    'End If

    blockAddedCharCount = blockAddedCharCount + 1

    End If

    Loop

    ' '如果add中移动光标的数量与read中的不一致,就需要修正光标位置

    ' If (blockReadMovedCharCount <> blockAddMovedCharCount) Then

    ' Selection.Start = Selection.End

    ' Selection.MoveRight unit:=wdCharacter, Count:=blockReadMovedCharCount - blockAddMovedCharCount, Extend:=wdMove

    ' End If

    Loop

    Set g_manualCharSet = Nothing

    Set g_specifiedCharSet = Nothing

    Set g_exceptionCharSet = Nothing

    ' 恢复选中区域

    Selection.Start = areaStart

    endTimeSec = Timer()

    logContent = "all cost time:" & Format((endTimeSec - appBeginTimeSec) / 24 / 3600, "hh:mm:ss") & " all words count:" & charNum & _

    " average:" & Format(charNum / (endTimeSec - appBeginTimeSec), "Standard") & "word/second"

    Debug.Print logContent

    MsgBox logContent

    End Sub

    如果直接复制网页网页上的代码到VB编辑器中,汉字会乱码。先把网页代码复制到记事本(notepad),然后另存为ANSI编码的文件,后缀名为.bas。否则中文字符在vba编辑器中会变成乱码。然后修改,在VB编辑器中导入文件,这样比较省事。

    打开VB编辑器的【视图】->【立即窗口】可以查看日志和大概进度。

    踩过的坑:汉字加上注音后,当前字的范围会变化,加上描述属性后,大小会增加,Selection.Start和Selection.End都会变动,后面内容的位置也会因此变化,用代码+1的方式来移动光标会出现各种乱码。(最新测试好像又可以了。)

    三、运行

    有一些边界条件没有测试,常用的就是选中一段文字,也可直接Crtl+a全选,然后

    WPS选择【开发工具】->【宏】(MS选择【视图】->【宏】),

    选择 addPinyin 宏,运行,就可以看到word中在一个字一个字的加注音。

    运行期间,最好不要操作word(可以做切换到其他的应用),不要切换到word的其他文档去,不要点击文档里的内容。否则就会变成给当前查看的文档、或者点击处的内容加注音,而且可能导致死循环。(如果死循环了,可以杀掉进程重新运行,或者在VBA编辑器里选择【运行】->【重新设置】以重置。代码里没有加自动保存的内容,重置可以保留已经处理过的结果。)

    运行时会看到光标会移动两遍,第一遍是遍历选中内容,这个比较快;第二遍是加注音,慢一些。

    想找一下看看能不能多文档并行处理的方法,不知道怎么在不用select的情况下光标MoveRight,也没找到文档(懒)。想要多开,就把文档拆分成多个,用虚拟机或者多台电脑。

    四、收尾,人工校对,重新调整排版

    加了注音后,WPS Word里看排版会变化,很多换行,不知道怎么设置,用MS Word打开就好很多。转成常用的pdf格式即可。

    五、定制

    initManualCharSet 和 initExceptionCharSet 两个函数中的内容可以根据需要自行修改。

    一般来说,文档里的中文字符都需要加到initExceptionCharSet中。可以先把未加拼音的原文档备份一下,先试几页,大概就知道需要排除那些符号了。

    需要自定义拼音的格式,就先按要求修改一个例子,录制成宏,然后把代码中.Range.PhoneticGuide这一行后面的属性修改成录制的宏里面对应的属性。

    文档中的汉字号,需要加到initExceptionCharSet中去,不然会出现注音一行也会带符号的情况。

    加上注音后,WPS Word中无法搜索,MS Word中可以搜索单个字。

    已经有注音的字,会被判断为不是汉字,已有注音不会被改变。

    第一个版本是一个字一个字的转换的,效率比较慢,两万四千个字大概两个小时加完。后来改成批量的,时间缩短到四十分钟左右。

    有师兄有更高效率的方案,请告诉我一下,非常感激。

    感谢给python库做贡献的前辈们!

    感谢写示例demo的前辈们!

    补:专业加拼音软件 adobe indesign

    好像有个“拼音居士”的word插件,一次可以加3万多字,没有亲自用过,有兴趣的可以去试试。

    内容里不能有跳转链接,不然会出问题。

    如果经常用,可以自定义菜单,给某个菜单卡新建一个组,把这个宏命令加进去,成为一个固定按钮。

    后来遇到一个问题,文档字很多,10万+,运行了一两天都没有结束,原因是运行到几百页就变得非常慢。经过尝试,大概是前面字多了,光标定位效率就低了。

    解决办法:运行注音用一个文档,保存已经注音的内容用另外一个文档;每次都注音几十页到100页的内容,这一部分注音结束就剪切追加到到已注音文档后面保存,这样效率高一些。就是有些地方的格式可能会被打乱一点,只能全都结束了之后再调一下了。

    附:

    展开全文
  • 如何为整篇word文档加拼音标注

    千次阅读 2021-02-05 15:09:35
    4月9日,打印一篇童话,突然想到如果为童话加上标音会更适合小孩阅读,就试图为整篇文档加拼音标注,但结果令我失望,微软的word加拼音有字数限制,每次只能为几十个字加拼音标注,如果以这种方式为一篇几千的童话...
  • 一些时候需要在文字上边标注汉语拼音,可以使用Word的“拼音指南”工具为文字自动添加汉语拼音,那么下面就由学习啦小编大家分享下word为文字添加拼音的技巧,希望能帮助到您。word为文字添加拼音的步骤如下:步骤...
  • 拼音字母字体.ttf

    2020-03-23 08:20:45
    这是基于应用于word还有wps的汉语拼音字母字体,结合搜狗输入法(带声调),完美打出汉语拼音。 只要直接打开字体,点击安装,word里就有这个字体,点击选择这个字体,我们就可以打字了。
  • 这是一套田拼音字帖excel模板下载,喜欢的人都来下载吧。该文档为田拼音字帖excel模板下载,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • word中自动为汉字加拼音,自动排版,可调整字体字号
  • 2020年11月10日18----Word美化名字、为文字添加拼音、输入生僻
  • 一些时候需要在文字上边标注汉语拼音,可以使用Word的“拼音指南”工具为文字自动添加汉语拼音,那么下面就由学习啦小编大家分享下word为文字添加拼音的技巧,希望能帮助到您。word为文字添加拼音的步骤如下:步骤...
  • 5000常用拼音

    2020-12-05 23:49:14
    我自己写代码生成的拼音,5000个常用汉字,已经制作成word文档格式,适合家里有小孩的家长下载,幼儿园、小学均可。 格式大致如下: --------------------------- | xiè | wò | fù | huà | --------------------...
  • WORD文字添加拼音通常是在文字的上方,那么如何将拼音和文字同排呢?小编这里大家讲解一下: 第一步、新建一个WORD文档 第二步、打开新建文档,录入需要加拼音的文字 第三步、选中文字,然后点击菜单栏...
  • 最近老妈在用word给文字添加拼音的时候遇到了这样的问题,对于一段话,word拼音是直接放在文字的头上,因此对这段话复制的时候就会出现文字拼音交杂的情况(如下图),想要得到这段文字完整的拼音需要手动处理。...
  • WORD中,利用宏自制拼音音标工具栏. 共二步: 录制宏; 编辑宏图象。
  • =wdCharacter, Count:=1 Selection.TypeText Text:=" " Next Application.ScreenUpdating = True MsgBox "任务成功完成" End Sub 源代码在这,我稍微改了几句:如何为整篇word文档加拼音标注 - 拍拍猫脑 - 博客园​...
  • 设置“新华拼音”安装好“新华拼音”之后要先做一些必要的设置1.启动“新华拼音”,并在工具条上的任意位置右击鼠标,将弹出右键菜单。在右键菜单上选择“属性设置”,将弹出设置对话框。首先设置“输入法设置”,...
  • 指导小孩拼音真是一件非常折磨人心志的事情,儿子刚上一年级,先学拼音、认字,但是一年级的课本内容也就那么多。有时候我会让他背书,书是背会了,但是要注音,或者写,就没法训练了。所以我想了个办法,最近让他...
  • 有时候我们为了在行文中加入一些希腊文字表示特定变量,同时要求在希腊文字上方插入一些特殊符号,为了解决随之出现的行间距变大问题,我们可以使用“拼音指南”+“切换域代码”,通过简单的修改代码完美解决!...
  • PAGEPAGE 1用word2003表格快速制作拼音格的方法篇一:用word怎么做出田格或是米字格 拼音格用word怎么做出田格或是米字格 拼音拼音格这个“四线格”可以自己通过“绘图”画出来。1、打开“绘图”工具栏,...
  • Word 添加拼音

    万次阅读 2018-10-28 00:04:22
    有些时候,文档需要标注拼音,以便能够小朋友看。通过word可以做到这点。 以word2007为例,具体操作如下: 1,先选择相关字段点击“开始”菜单,再点击“拼音指南”,如下 2,在弹出的“拼音指南”对话框中,...
  • word拼音加声调怎么打 word拼音标注图文教程.docx
  • 本文介绍汉字加拼音的完整过程,包括多音识别、多音字拼音的选择以及汉字拼音内容的修改过程。1 先在InDesign中点选文本框对象,点击极速拼音插件中的“自动标注拼音”按钮。如果勾选了多音识别可以大大提高词组...
  • 如果想在Word中拼音加音调,相信很多还没入门都新手朋友都不知道,其实方法有三种:word里面的符号、拼音指南和输入法的拼音功能,本教程介绍的是利用拼音指南在word拼音加标注的图文教程,以“静夜思”为例。...
  • 拼音字体

    2021-07-23 03:44:53
    路由器之家网今天精心准备的是《拼音字体》,下面是详解!汉语拼音字母的字体是什么字体呀?小学语文课本上用的汉语拼音字母叫哥特体(Gothic,又称歌德体)。哥特体有古老哥特体和现代哥特体之分。古老的哥特体是西欧...
  • 举个例子,老板为了我们能够尽快的成长,天天下班让我们开会学习,我觉得老板对我们真是体(sàng)贴(xīn)有(bīng)(kuáng),怎么样是不是也觉得挺好玩的,那么这种带声调的拼音是如何打出来的呢,今天就大家...
  • word给整篇文章注释拼音

    千次阅读 2020-02-27 23:52:21
    遇到的困难:word 2016的注音功能只能大概二三十一次性注音(未详细数到底多少),对于成百上千的文档注音就很繁琐 解决方法:使用word中的宏,在网上搜集资料找到这篇文章: https://www.cn...
  • Word自定义宏实现全文拼音标注

    万次阅读 热门讨论 2016-04-02 11:26:24
    最近自学日语,发现word有个拼音加注(拼音指南)的功能,可以很方便的日文汉字加注假名,正确率也比较高,鸡肋的地方是每次加注的数量有限,而且无法设定默认参数每次都调一下很麻烦,所以想自定义一个宏来实现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,761
精华内容 5,904
关键字:

word里给字加拼音