Word 中自动执行和自动打开宏的行为说明

可以使用 Word 中的“自动执行”和“自动打开”宏来建立默认路径、样式、链接、环境条件等,在 Word 打开新文档或打开现有文档时。 本文讨论这些宏的工作原理及其在各种情况下的行为方式。

Auto-Exec

如果 Auto-Exec 宏保存为默认模板的一部分,或者自动执行宏作为全局外接程序的一部分保存,则自动执行宏将在 Word 启动时运行。 通过使用 Auto-Exec 宏,可以在 Word 启动时、创建或加载文档之前进行调整。 例如,可以使用 Auto-Exec 宏在 Word 启动时更改默认目录。

可以通过多种方式取消自动执行宏。 一种方法是使用 /m 或 /embedding 开关从命令行启动 Word。 若要使用这些开关,请选择“开始”,选择“运行,键入winword /mwinword /embedding,然后选择“确定”。

取消自动执行宏的另一种方法是在 Word 启动时按 Shift 键。 从自动化客户端启动 Word 时,也会禁止自动执行宏。

自动打开

打开新文档后,将自动打开宏运行。 以下列方式打开文档时自动打开:

  • 使用“文件”菜单上的“打开”命令。
  • FileOpen使用或FileFind命令。
  • 从“文件”菜单上的“最近使用”(MRU)列表中选择文档。

打开文档时,如果自动打开宏保存为该文档的一部分,或者宏保存为文档所基于的模板的一部分,则运行自动打开宏。 自动打开宏在作为全局外接程序的一部分保存时不会运行。

打开文档时,可以通过按住 Shift 键来阻止自动打开宏运行。

创建自动执行宏和自动打开的宏

  • Word 2002 或 Word 2003

    1. 在 Word 中创建新的空白文档。

    2. “工具”菜单上,指向“宏,然后选择“安全性”。

    3. “安全”对话框中,选择“安全级别”,然后选择“中等”。 选择“受信任的源”,选择信任所有已安装的加载项和模板”,然后选择“确定”。

    4. 按照以下步骤创建 Auto-Exec 宏:

      1. “工具” 菜单上,指向 “宏 ”,然后选择“ 录制新宏”。

      2. “记录宏”对话框中,在“宏 名称”下键入 AutoExec ,然后选择“ 确定”。 默认情况下,宏保存在 Normal 模板中。 Word 文档或 Word 桌面上的其他地方会显示一个小的双按钮命令栏。 找到命令栏,然后选择正方形(停止录制)按钮以停止录制。

      3. “工具” 菜单上,指向“宏”,然后选择“ ”。 在 宏列表中选择 AutoExec ,然后选择“ 编辑”。

      4. 将以下代码添加到 AutoExec 宏:

        MsgBox "You're seeing the AutoExec macro in action", vbMsgBoxSetForeground
        
      5. Microsoft Visual Basic 编辑器中的“文件”菜单上,选择“保存普通,然后关闭 Visual Basic 编辑器。

    5. 按照用于 Auto-Exec 宏的相同步骤创建自动打开宏。 这一次,使用“自动打开”表达式替换每个步骤中的 Auto-Exec 表达式。

    6. 将文档另存为 C:\Yourfile.doc,关闭文档,然后退出 Word。

    7. 使用下表中所述的不同方法在 Word 中打开文档。 观察宏何时运行,以及宏未运行的情况。

Word 2007

  1. 在 Word 中创建新的空白文档。

  2. 选择“Microsoft 办公室按钮”,然后选择“Word 选项”。

  3. 选择 “信任中心”,选择“ 信任中心设置”,然后选择“ 受信任位置”。

  4. 添加所需的受信任位置,然后选择“ 确定 ”两次。

  5. 按照以下步骤创建 Auto-Exec 宏:

    1. 选择“开发人员”选项卡,然后选择“代码”组中的记录宏”。

    2. “录制宏”对话框中,在“宏名称”下键入“自动执行”,然后选择“确定”。 默认情况下,宏保存在 Normal 模板中。 选择“代码”组中的停止录制”。

    3. “开发人员”选项卡上,选择“代码组中的“宏”。 在宏列表中选择“AutoExec,然后选择“编辑”。

    4. 将以下代码添加到 Auto-Exec 宏:

      MsgBox "You're seeing the AutoExec macro in action", vbMsgBoxSetForeground
      
    5. 在Microsoft Visual Basic 编辑器中,选择“文件”菜单上的“保存正常,然后关闭 Visual Basic 编辑器。

  6. 按照用于 Auto-Exec 宏的相同步骤创建自动打开宏。 这一次,使用“自动打开”表达式替换每个步骤中的 Auto-Exec 表达式。

  7. 将文档另存为 C:\Yourfile.doc,关闭文档,然后退出 Word。

  8. 使用“不同情况”部分中的“宏行为”表中介绍的不同方法在 Word 中打开文档。 请注意宏何时运行,以及宏未运行的情况。

不同情况下的宏行为

下表总结了在 Word 启动时或以各种方式打开文档时这两个宏的行为:

操作 Auto-Exec 自动打开
通过键入“运行”以空白文档启动 Word,在命令提示符处不运行以下命令:Winword.exe 运行次数 不运行
通过在命令提示符:Winword.exe C:
<Yourfile> 中键入以下内容,使用保存的文档启动 Word.doc
运行次数 运行次数
通过在命令提示符:WinWord.exe /embedding C:
<Yourfile> 中键入以下命令,在 OLE 容器中嵌入 Word 文档.doc
不运行 运行次数
使用代码自动执行 Word 并打开“不运行运行 C:<Yourfile>.doc使用以下代码:
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
oWord.Documents. Open "C:\YourFile.doc"
不运行 运行次数
浏览到 Internet Explorer 或 WebBrowser 控件中的文档 不运行 运行次数

参考

适用于Microsoft 办公室产品的命令行开关