把MS Word打造成英语学习利器

by xiaolai on 2009/11/03 · 46 comments

in 英语相关文章

注意:请不要在未经同意的情况下转载本文。

文档目录:

  • MS Word 2007的“鼠标取词”功能
  • MS Word 2007的“词典面板”
  • MS Word 2007的“同近义辞典”(Thesaurus)
  • MS Word 2007的“英语助手”
  • 为MS Word 2007设置单词朗读功能
  • 用Word 2007为自己定制阅读文章词汇列表
  • 附录:我的常用宏代码

在结绳记事的年代,人类还跟其它动物其实没有太大差异,只有文字出现之后,人类才开始拥有可(跨代)传播、可修正、可积累的所谓“知识”。所以,书写工具对人类来实在是太重要。毛笔、鹅毛笔、铅笔、钢笔、圆珠笔……直到今天的各种各样的输入法以及字处理软件(MS Word就是其中的一种),书写工具的每一次变革都伴随着人类巨大的进步。

对中国学生来说,MS Word不仅仅是“字处理工具”,更是一个非常强大的学习利器。

MS Word 2007的“鼠标取词”功能

MS Word从2007版本开始内嵌了“鼠标取词”功能。其所采用的词典是权威的《美国传统词典》的英汉版本,释义详实,例句丰富。“默认安装”的情况下,鼠标取词功能并未设置为开启状态,需要用户手动开启——在鼠标右键的快捷菜单中选择“翻译”,而后选定“中文(中国)”:

ms-word-2007-screen-dictionary

此后,只要将鼠标移至某个英文单词上停留,就会看到该英文单词的中文解释:

buildin-dictionary-office-2007

MS Word 2007的“词典面板”

在默认情况下,MS Word有一个快捷键:“Alt + Left Mouse”:先按住Alt键,然后在任何一个英文单词上点击鼠标左键,MS Word的侧边栏里就会显示这个单词的检索结果(这也相当于在该英文单词上点击鼠标右键,而后在快捷菜单中选择“翻译”->“翻译”):

office-2007-sidebar

如果用户安装的是MS Office中文版,那就可能需要设置一下才可以在文档中通过鼠标左键双击自动选中整个英文单词(“Word选项”->“高级”->“选定时自动选定整个单词(W)”):

word-2007-selecting-the-whole-word

这个词典是英汉、汉英双向的。在文档中选定一个中文词汇,而后在选中的区域使用“Alt + Left Mouse”快捷键,右侧就将显示该中文词汇的英文释义。

MS Word 2007的“同近义辞典”(Thesaurus)

在任一英文单词上点击鼠标右键,都可以看到一个“同义词”快捷菜单。可以通过选中菜单子项而将文档中的词换为该同义词:

buildin-thesaurus-office-2007

如果想看到更加完整的“同近义词辞典”内容,则要在光标移动到某个单词所在的位置之后,按下快捷键“Shift + F7”;随后就可以在右侧边栏中看到“同近义词辞典”的详细内容。

而MS Word中还有一个用起来非常方便的“同近义词查询对话框”,但由于默认情况下没有为它设置相应的呼出快捷键,所以很多用户根本就没有见过它:

tools-thesaurus

为“同近义词查询对话框”添加快捷键的方法如下:

  • “Word选项”->“自定义”->“键盘快捷方式自定义”;
  • 在“自定义键盘”对话框中选定:“指定命令”->“类别(C):”中选择“所有命令”
  • 在“命令(O)”中选择ToolsThesaurus,
  • 在“请按快捷键(N)”之下的输入框里点一下鼠标左键,然后同时按下“Ctrl+Shift+F7”,而后点击左下角的“指定”按钮,而后关闭该对话框。(当然,读者可以根据自己的喜好选择快捷键的组合方式……)

tools-thesaurus-shortcuts-setting

MS Word 2007的“英语助手”

事实上,读者可能早就注意到右侧边栏的词典工具中最好的应该是“英语助手”(而非“翻译”命令所呼出的“双语词典”)。“英语助手”包括几乎所有的好东西:“中文释义”(相当于英汉词典)、“英文释义”(相当于英英词典)、“常用搭配”(相当于搭配辞典)和“同义词”(相当于Thesaurus)。如何才能直接呼出“英语助手”呢?

其实很简单,方法与上文中“为同近义词查询对话框添加快捷键”是一样的。只不过,这次要为“EngWritingAssistant”命令添加快捷键。我一般习惯于使用“Alt+X”这个在MS Word尚未被定义的键盘组合。

tools-engWritingAssistant-shortcuts-setting

(另,MS Word中的这个“英语助手”,是必须联网才能使用的,因为它实际上是在查询微软的服务器之后再返回查询结果。服务查询地址是:http://office.microsoft.com/Research/query.asmx;有编程能力的读者,不妨看看其中的“Basci Query Option”……)

有些人的计算机上的Office可能并未安装“英语助手”服务,需要用户自己手动添加。在文档任意处“Alt+鼠标右键”呼出右侧的工具框,而后点击工具框底部的“信息检索选项”:

information-index-option

点击左下角的“添加服务(A)”按钮,得到以下对话框:

add-service

而后在底部“地址(A)”之后的文字输入框里输入:“http://office.microsoft.com/Research/query.asmx”而后按“添加”按钮:

confirm

点击这个对话框里的“安装(I)”按钮即可。

为MS Word 2007设置单词朗读功能

这一步稍微复杂一点,因为要为Word添加宏代码。

在Word程序中,先关闭所有文档,之后按快捷键“Alt+F11”呼出VBA编辑器。

从菜单“工具(T)”中选择“引用(R)”,在随之跳出的对话框中选中“Microsoft Speech Object Library”,而后在之前的复选框里打勾:

add-microsoft-speech-object-library

之后再VBA编辑器的左侧“工程”面板里鼠标双击选定“Normal – Microsoft Word对象-ThisDocument”,程序主面板里输入以下VBA代码:

Sub SpeakText()
    On Error Resume Next
    Set speech = New SpVoice
    Selection.MoveLeft Unit:=wdWord, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
    If Len(Selection.Text) > 1 Then 'speak selection
        speech.Speak Trim(Selection.Text), _
        SVSFlagsAsync + SVSFPurgeBeforeSpeak
    End If
    Selection.MoveRight Unit:=wdWord, Count:=1
    Do
        DoEvents
    Loop Until speech.WaitUntilDone(10)
    Set speech = Nothing
End Sub

按快捷键“CTRL+S”保存之后关闭VBA编辑器。而后,就可以为这个宏设置快捷键了——我个人选择是“CTRL+SHIFT+S”。

self-define-macro-shortcuts

其实,为Word编写宏代码非常简单,VBA的程序代码也比较易读。在当前文档最后的部分,我附加上了我自己最常用的宏代码。

用Word 2007为自己定制阅读文章词汇列表

MS Word还有个很好的功能:“选择格式相似的文本(S)”。这样的话,就可以在阅读一篇英文文章的时候,顺手把生词都标记出来,而后可以通过“选择格式相似的文本(S)”把那些已经做了记号的文本单独拷贝出来。

word-select-same-format

选择之后,按“Ctrl+C”:

word-selected

而后,再找个地方“Ctrl+V”,就可以得到以下的列表:

  • neonatal
  • burgeoning
  • endoscopic
  • snaking
  • gallbladders
  • jabbed
  • sales pitch
  • laparoscopic
  • lickety-split

用之前讲过的同样的方式,也可以为“选择格式相似的文本(S)”这个命令设置快捷键——这个功能的命令名称是“SelectSimilarFormatting”;我一般设定为“Alt+S”。

在阅读的过程中使用什么格式为文本做标记呢?“加重”和“倾斜”可能并不是好的选择,因为文本中原本就可能有一些这样格式的文字;加高亮底色也不是好的选择,不知道为什么Word的“选择格式相似的文本(S)”竟然不支持这种格式。我一般使用“双下划线”。就象上面的图示里能看到的那样。这次不用自定义,因为双下划线有Word默认设置好的快捷键“Ctrl+Shift+D”。

去掉所有记号的方法是,在某一个标记了“双下划线”的单词上点一下鼠标左键,然后,按刚刚设置好的快捷键“Alt+S”,而后再按“Ctrl+Shift+D”就可以了。

附录

以下是我个人常用的宏的代码:

'要使用该宏,需事先安装Merriam-Webster Collegiate Dictionary
Sub LookUpMerriamWebsterDictionary()
 
' MWDictionary Macro
     Selection.MoveLeft Unit:=wdWord, Count:=1
     Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
     Selection.Copy
     Selection.MoveRight Unit:=wdWord, Count:=1
     If Tasks.Exists("Merriam-Webster") = True Then
        With Tasks("Merriam-Webster")
            .Activate
            .WindowState = wdWindowStateNormal
        End With
         SendKeys "%ep{ENTER}", 1
     Else
        Response = MsgBox("Task Merriam-Webster doesn't exist! Run the application before use this Macro, please.", vbExclamation, "WARNING!")
    End If
End Sub
 
Sub SpeakTheWord()
    On Error Resume Next
    Set speech = New SpVoice
    Selection.MoveLeft Unit:=wdWord, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
    If Len(Selection.Text) > 1 Then 'speak selection
        speech.Speak Trim(Selection.Text), _
        SVSFlagsAsync + SVSFPurgeBeforeSpeak
    End If
    Selection.MoveRight Unit:=wdWord, Count:=1
    Do
        DoEvents
    Loop Until speech.WaitUntilDone(10)
    Set speech = Nothing
End Sub
 
' 为选中的文本加上双引号
Sub AddDoubleQuotationMarks()
    Selection.InsertBefore ("“")
    Selection.InsertAfter ("”")
    Selection.MoveRight Unit:=wdWord, Count:=1
End Sub
 
' 指定选中文本的字体
Sub ChangeFontNameTo()
    Selection.Font.Name = "Georgia"
End Sub
 
' 指定选中文本的字号大小
Sub ChangeFontSizeTo()
    Selection.Font.Size = 28
End Sub
 
' 将选中文本的字号放大
Sub FontSizeGrow()
    Selection.Font.Grow
End Sub
 
' 将选中文本的字号缩小
Sub FontSizeShrink()
    Selection.Font.Shrink
End Sub
 
' 将双标所在的词汇首字母变成大写
Sub FirstLetterToUppercase()
    Selection.MoveLeft Unit:=wdWord, Count:=1
    Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    Selection.Text = UCase(Selection.Text)
    Selection.MoveRight Unit:=wdWord, Count:=1
End Sub

{ 35 comments… read them below or add one }

希锐亚 November 3, 2009 at 18:31

同样的工具在不同人的手里差别真是巨大啊!应该收藏学习。

Reply

jasonbai November 3, 2009 at 18:54

先表达一下鸡冻的心情,速度从ubuntu转至win7配置

Reply

Constance November 3, 2009 at 19:49

很强大!收藏下,慢慢学习 ^^

Reply

November 3, 2009 at 20:18

Hi,Xiaolai, I don’t why I cannot update your website’ English in Use’ which is really useful to me, or maybe you have not got enough time to focus on it since your last post. Thank you ever so much for sharing your vast English knowledge.

Reply

洗眼器 November 3, 2009 at 21:08

学习了·

Reply

fire9 November 3, 2009 at 21:09

太好的方法了!

Reply

vinny November 3, 2009 at 23:43

原来WORD可以当金山词霸来用,笑来老师又让我受益良多!~感恩~

Reply

新月人 November 3, 2009 at 23:51

我out了,现在还在用2003,呵呵,好详实~ 多谢老师

Reply

IT资讯速客 November 4, 2009 at 01:30

要了解国外咨询吗?

Reply

菠萝 November 4, 2009 at 10:49

看来哪个软件用好了,都起到大作用!
 
对全文的翻译功能如何?与google翻译相比?

Reply

seyothoy November 4, 2009 at 11:41

看完了,然后去查了查宏的使用,第一次学会使用宏,设置了几个快捷键,发现方便了很多。前来道谢。这么一个小技巧真是省了不少事儿啊,哈哈哈哈

Reply

落水狗 November 4, 2009 at 13:05

还没开始细看文章,但已经按奈不住激动的心情,向笑来老师道个谢先!

Reply

123 November 4, 2009 at 15:29

博主,你太到位了~有点犀利。

Reply

蓝水天 November 4, 2009 at 19:21

我的2003英文版也有类似功能(明天去中文版试验一下。。)。话说回来,其实我已经习惯灵格斯了。

Reply

▁蝕♀•冰雨、 November 7, 2009 at 16:22

有下载这个东东的地址没有?

Reply

gazagoal November 11, 2009 at 15:59

可以用高亮,只要最后用“替换”把高亮的文本替换成爽下划线之类的就可以导出了。

Reply

jen November 12, 2009 at 15:19

老师,请问VBA编辑器的左侧“工程”面板里鼠标双击选定“Normal – Microsoft Word对象-ThisDocument”,程序主面板里输入VBA代码,之后按control+s只能保存为word文档,无法保存为宏是怎么回事,应怎么解决。

Reply

李笑来 November 12, 2009 at 15:31

to jen:
这样做保存的文件是在”%AppData%\Mirosoft\Template”目录中的Normal.dotm文件。你看看那个文件有没有改动过?

Reply

jen November 12, 2009 at 16:16

嗯,我看了一下,修改时间是下午三点多,也就意味着被改动过吧。但我设置快捷方式的时候,找不到这个宏,宏那个模块是空白的。提示说我应该把它存成vba的文件格式,但文件属性里面没有这个选项。汗。。。

Reply

Dandan December 30, 2009 at 23:11

我的情况和你的一样,不知你解决没有?能否说一下。

Reply

changjixiong November 16, 2009 at 13:25

李笑来老师,我只能说你的挖掘能力实在是太强大了

Reply

dfs January 1, 2010 at 01:48

为什么这篇文章不能转载啊?

Reply

qisaiman January 24, 2010 at 13:00

用了前面几个功能,后面的选择相似文本很强大 学习了 。

Reply

better January 27, 2010 at 16:31

非常感谢,很强大的工具。

Reply

kevindai February 19, 2010 at 09:30

一一试用,很好很强大,读音那个还没有搞定。有空再试

Reply

艾美语 February 19, 2010 at 22:31

笑来老师,我是在人人网里的一个叫艾美语(http://www.renren.com/aimeiyu)的家伙,在里面分享英文学习文章给大家,我很喜欢您,所以也转载过您的几篇并未注明“需要同意方可转载”的文章,并且都注明了源地址。本来也要转您现在这篇文章了,但是看到“转载本文需要经过您同意”的声明,所以请问我可以转吗?

Reply

李笑来 February 19, 2010 at 23:35

暂不同意。见谅。

Reply

艾美语 February 20, 2010 at 00:43

额,好吧,那就直接分享链接啦。我有个弟弟上过您的课,很崇拜~期待您的新作~

Reply

chris2078 February 22, 2010 at 14:38

一旦OFFICE升级,貌似得重新设置。

Reply

Doris March 21, 2010 at 23:34

老师, 关于设置朗读功能, 按照您的步骤设置完成之后, 使用的时候出现了”在中断模式不能执行程序代码”的错误提示, 帮助上写的是”在运行来自“宏”对话框的代码之前,继续运行挂起的代码,或结束当前代码的执行。可以直接修正这个错误,然后选取“继续”,或者返回到“宏”对话框并重新启动宏”, 可是我看不明白…想请教您怎么解决?

Reply

Doris March 24, 2010 at 10:36

问题已解决!

Reply

小骆驼商队 September 4, 2010 at 00:44

Word默认shift+F3就可以在各种大小写之间切换,包括首字母大写,我觉得比那个宏方便

Reply

September 9, 2010 at 23:24

貌似word 2007中文版木有鼠标取词功能……右键-translate下面没有下拉菜单,只能用侧边栏翻译。

Reply

jane.chen October 26, 2011 at 21:23

笑来老师,
你好!

为MS Word 2007设置单词朗读功能
按照步骤操作到保存,保存了文件名,再去键盘自定义里的宏,右边的宏是空的。。重复操作了几次,依然没找到原因,求助。先谢了

Reply

conn November 9, 2011 at 23:45

为何我在运行“为MS Word 2007设置单词朗读功能”这个宏时,出现“编辑错误:用户定义类型未定义”

Reply

Leave a Comment

{ 11 trackbacks }

Previous post:

Next post: