日语元音脚本
发表于2018-07-20 |日文分类,阅读|
介绍
介绍
本文代码基于きぬあさ的代码进行改良,向原作者表示致敬,转发此文请一并转发原作者地址。
注:原作者的代码遇到找不到注音的汉字会死循环卡在那里。
我修正了这个问题。
修正后的版本如果遇到找不到注音的汉字,就跳过它而不是卡在那里。
当然这种情况很少,完全不影响阅读,因此可以无人值守地转换Word长文。
问题背景
众所周知Word有自动给日文汉字注音的功能:
点击确定以后,相应的汉字就被注音了:
这种方法对日语学习者很有帮助。
但是可以发现,这种方法无法对大段的文字同时注音,每次只能注音一两句话。
即使你选择了大段的文字,也只能对前一两句话进行注音。
为了解决这个问题,我们写一个Word文档内置的Visual Basic for Applications (VBA)脚本,来实现对大段文字或全文的注音。
开发及测试环境
-
Microsoft Office Word 2013
解决方案
首先,我们设置文章的语言为日语,否则某些汉字可能被当做中文后标记为汉语拼音。
按Ctrl+A全选文本,点击“审阅”选项卡,点击“语言”按钮,在弹出的菜单中选择“设置校对语言”选项。
在弹出的“语言”对话框中,选择日语,勾选“不检查拼写或语法”,不要勾选“自动检测语言”,点击确定保存:
这样一来,全体文本就被设置为日语了。
之后,根据下面步骤对文本进行注音:
1、 打开Word的“开发工具”菜单
部分Word的“开发工具”默认是不显示的,我们在设置里打开它:
首先,点击word左上角的“文件”按钮:
然后,点击“选项”:
之后,在弹开的“Word选项”对话框中,依次选择“自定义功能区”,勾选“开发工具”,并点击“确定”保存设置:
最后,可以在Word的顶部菜单中看到“开发工具”选项卡,选择它,并点击按钮“Visual Basic”打开VBA编辑器:
2、代码
在打开的VBA编辑器中,粘贴以下代码(按代码下面的图示):
将上面代码粘贴在代码区域,并点击绿色三角形“运行”按钮:
3、运行
点击点击绿色三角形“运行”按钮后,出现对话框:
-
选择“FuriganaAllDocument”的话则会对全文档注音(推荐)
-
选择“FuriganaSelectedRange”的话则只会对选择文字注音
选择完成后点击“运行”:
点击“运行”后开始注音:
注音过程中点击键盘“ESC”键可以中途退出。
该算法支持断点重新开始,所以不用担心中途退出。
参考资料
代码参考资料
开发工具菜单开启引用资料
结果和感想
关于执行效率:
注音夏目漱石的「吾輩は猫である」第一章,包含13,622个字符(包含假名),
执行一遍大约需要15分钟。