首次执行以下任一操作时,Word 2003 和 Word 2007 会自动转换 Word 6.x 或 Word 95 模板中的宏:
打开该模板。
基于该模板创建一篇文档
手动将该模板附加到一篇文档上
在转换宏时,状态栏上会显示一条消息。 转换结束后,必须保存模板,以保存转换后的宏。 如果不保存模板,则下次使用该模板时,Word 会再次转换这些宏。
注意 Word 无法直接转换 Word 2.x 宏。 您需要用 Word 6.x 或 Word 95 打开并保存 Word 2.x 模板,然后再用 Word 打开这些模板。
转换过程将每个宏转换为 Visual Basic 模块。 若要查看转换后的宏,请按 Alt-F8。 “宏”对话框中的宏名称显示为 macroname.Main,其中 Main 指转换后的宏的主子例程(该子例程在较低版本的 Word 中以 Sub MAIN 开头)。 若要编辑转换后的宏,请选择宏名并单击“编辑”以在“Visual Basic 编辑器”中显示该 Visual Basic 模块。 对每条 WordBasic 语句都进行了修改,使其能在 Visual Basic for Applications 中正常工作。 经转换的 WordBasic 宏与编写或录制的新 Visual Basic for Applications 宏具有相同的功能,但不完全一致。 The following example is a WordBasic macro in a Word 95 template.
Sub MAIN
FormatFont .Name = "Arial", .Points = 10
Insert "Hello World"
End Sub
在 Word 中打开该模板时,会将宏转换为下列代码:
Public Sub Main()
WordBasic.FormatFont Font:="Arial", Points:=10
WordBasic.Insert "Hello World"
End Sub
经转换的宏中的每一条语句以 WordBasic 属性开始。 WordBasic 是 Word 对象模型中的一个属性,该属性返回一个具有全部 WordBasic 语句和函数的对象;该对象使 WordBasic 宏可在 Word 中运行。
注意 如果将模板保存在原始模板上,WordBasic 宏将永久丢失,并且以前版本的 Word 将无法使用转换后的宏。
下面的 Visual Basic 宏与早期的 WordBasic 宏具有相同的功能,但是没有使用 WordBasic 属性。
Public Sub Main()
With Selection.Font
.Name = "Arial"
.Size = 10
End With
Selection.TypeText Text:="Hello World"
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。