Word 2007教程:Word的.docx和.docm文件格式
Word2007不是仅有一种新格式,而是有两种——或者说是4种,看你怎么算了。
.docx——一种不包含宏的普通文档;
.docm——一种包含宏或启用了宏的文档;
.dotx——一种不包含宏的模板;
.dotm——一种包含宏或启用了宏的模板。
出于某种原因,用户不仅可以在文档模板中包含宏,还可以在文档中包含宏,这很重要。这使包含自动操作的文档更轻便。仅发送一个启用了宏的文档要胜过同时发送文档和模板,或是模板文件伪装成一个文档会更糟。
注意:自从Word宏病毒第一次出现后,普通Word文档不能再包含宏——只有模板才可以。因此,“封装”宏病毒的最流行的方式就是重命名.dot文件为.doc扩展名的文件。病毒本身通常是自动执行的宏(AutoExec就是典型),在伪装的.dot文件第一次打开时会进行破坏和传播,常见的防范是按住Shift键来打开Word文件(.doc或.dot)防止自动宏执行。实际上,尽管安全和防病毒软件有很多优点,但是打开不熟悉的文件时按Shift键仍不能算是过分小心的。在最近的Word版本中,.doc文件可以合法地包含宏,因此我不确定情况是否改善了很多。我仍用手去按Shift键,快速检查以确定其中是否隐藏宏,然后再继续。虽然,当文档包含宏时Word2007会经常提出警告。
因为Word2003文档能包含合法的宏,所以从外表无法看出提供的.doc文档文件是否包含宏。如果有人发给你一个.doc文件,打开它安全吗?
此外,如果一个文档文件被故意命错名,Word2007会拒绝打开它,不论是.docx文件被重命名为.docm文件,还是相反的情况,都会出现如图1所示的消息框。
图 Word2003拒绝打开故意命错名的.docx或.docm文件
将.docx文件转换为.docm文件
如果想转换.docx文件以便包含宏,必须用“另存为”并选择“启用宏的Word文档(*.docm)”作为文件类型,可以在任何时候进行——不一定要在文件刚创建时,也可以通过另存为“Word文档(*.docx)”从.docm文件中删除所有宏。
虽然如此,可以在编辑.docx文件时创建或纪录宏,甚至让Word将其保存到.docx文件,不会显示出错信息,宏也会在当前会话中正常运行。但是,在第一次保存文件时,会提示要改变目标格式或要冒丢失VBA项目的风险,如果坚持保存为.docx文件并关闭文件,宏不会被保存。