在 Word 中自动运行宏 OnSave

Posted

技术标签:

【中文标题】在 Word 中自动运行宏 OnSave【英文标题】:Run macro automatically OnSave in Word 【发布时间】:2010-09-10 23:23:15 【问题描述】:

我有一个宏可以刷新文档中的所有字段(相当于在字段上执行 F9)。我想在用户保存文档时自动触发此宏。

在选项下,我可以选择“打印文档时更新字段”,但这不是我想要的。在 VBA 编辑器中,我似乎只找到 Document_Open() 事件的事件,而不是 Document_Save() 事件。

是否可以在用户保存文档时触发宏?

请注意:

    这是 Word 97。我知道它是 可以在更高版本的 Word 中使用 我不想替换标准 工具栏上的保存按钮 按钮运行我的自定义宏。 替换工具栏上的按钮 适用于所有文件,我只 希望它影响这一文档。

为了理解我为什么需要这个,文档包含一个“SaveDate”字段,我希望当用户点击保存时这个字段在屏幕上更新。因此,如果您可以提出另一种方法来实现这一点,那也一样好。

【问题讨论】:

【参考方案1】:

是的,fencliff 是对的,你在 Word 97 上不走运。

如果升级不是一个选项,我唯一想到的就是使用计时器轮询文件的最后修改时间。我知道这很丑,但你没有得到事件,也没有你可以覆盖的 Word 命令。

【讨论】:

【参考方案2】:

就我所记得的 Word 97 而言,你刚刚不走运。 97 年唯一的文档事件是打开和关闭。

我没有可用的 Word 97,但在 Word 2000+ 中,您可以设置读取文档属性的字段。你可以检查一下。在 Word 2003 中,它位于 Insert > Field... 下,您要查找的名称为 SaveDate

编辑:呃。你已经知道了。误解了你的问题。道歉。

【讨论】:

以上是关于在 Word 中自动运行宏 OnSave的主要内容,如果未能解决你的问题,请参考以下文章

将Word自动生成的自动编号转换成可以编辑的静态编号

iOS 自动提示宏

每次保存文本文件时如何运行 VBA 宏?

Visual Studio - 如何在运行宏时禁用自动格式化/更正?

使用 Excel VBA 自动合并邮件

如何通过单击 Word 2010 复选框来运行 VBA 宏?