将 WordBasic 宏转换为 Visual Basic

   

当第一次进行下列任何操作时,Microsoft Word 2002 将自动转换 Word 6.x 或 Word 95 模板中的宏。

在转换宏时,状态栏上会显示一条消息。转换结束后,必须保存模板,以保存转换后的宏。如果不保存模板,则下次使用该模板时,Word 会再次转换这些宏。

注意  Word 2002 不能直接转换 Word 2.x 宏。您需要用 Word 6.x 或 Word 95 打开并保存 Word 2.x 模板,然后再用 Word 2002 打开这些模板。

转换过程将每个宏都转换为 Visual Basic 模块。若要查看经转换的宏,请将鼠标指向“工具”菜单上的“宏”子菜单,然后单击“宏”。“宏”对话框中的宏名称显示为 macroname.Main,其中 Main 指经转换的宏的主子程序(该子程序在早期版本的 Word 中以 Sub MAIN 开头)。若要编辑经转换的宏,请选择宏名并单击“编辑”按钮,即可在“Visual Basic 编辑器”中显示该 Visual Basic 模块。

对每条 WordBasic 语句都进行了修改,使其能在 Visual Basic for Applications 中正常工作。经转换的 WordBasic 宏与编写或录制的新 Visual Basic for Applications 宏具有相同的功能,但不完全一致。下列示例为 Word 95 模板中的一个 WordBasic 宏。

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 2002 对象模型中的一个属性,该属性返回一个具有全部 WordBasic 语句和函数的对象;该对象使 WordBasic 宏可在 Word 2002 中运行。

注意  如果保存该模板时覆盖了原来的模板,则该 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