Word 2010打印前自动运行宏需求:触发打印时自动加页脚并开预览
实现Word打印时自动运行页脚宏并打开预览
我来帮你搞定这个自动触发的需求!要让用户按Ctrl+P或者点击「文件>打印」时,自动运行你的页脚宏并直接打开打印预览,我们可以利用Word的内置事件来实现,具体步骤如下:
步骤1:打开VBA编辑器并定位到文档模块
按下Alt + F11打开Word的VBA编辑器,在左侧的「工程资源管理器」里找到你要设置的文档,双击它下面的ThisDocument模块,打开代码编辑窗口。
步骤2:粘贴事件代码
把下面的代码粘贴到编辑窗口里,注意替换其中的宏名称和页脚逻辑(如果你的已有宏在其他模块,只要确保能正确调用就行):
Private Sub Document_BeforePrint(Cancel As Boolean) ' 取消Word默认的打印触发流程 Cancel = True ' 调用你已有的添加页脚宏——把AddCustomFooter换成你实际的宏名称 Call AddCustomFooter ' 自动打开打印预览界面 ActiveDocument.PrintPreview End Sub ' 示例:你的添加页脚宏(如果已经在其他模块存在,这部分可以删掉) Sub AddCustomFooter() With ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary) .Range.Text = "这里是你的自定义页脚内容" ' 可按需添加格式设置,比如居中、字体大小等 .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter .Range.Font.Size = 9 .Range.Font.ColorIndex = wdGray50 End With End Sub
代码说明
Document_BeforePrint是Word的内置事件,只要用户触发打印操作(包括快捷键、菜单点击),这个事件就会自动触发。Cancel = True是关键:它会阻止Word执行默认的打印/打印预览弹窗,转而执行我们自定义的逻辑。- 调用你的页脚宏后,用
PrintPreview直接打开预览界面,用户就能直接在里面点击「最终打印」了。
后续设置
- 保存文档为启用宏的格式(.docm),普通的
.docx格式无法保存宏。 - 关闭并重新打开文档,确保宏加载生效。
- 检查Word的宏设置:依次点击「文件>选项>信任中心>信任中心设置>宏设置」,选择「启用所有宏」(或者更安全的「启用签署的宏」,如果你的宏已经签署),否则宏无法运行。
额外提示
- 如果想让这个功能对所有新建文档生效,可以把代码放到
Normal.dotm模板的ThisDocument模块里,但这样会影响所有文档,按需选择。 - 测试时可以先手动运行一次页脚宏,确保它本身逻辑没问题,再测试自动触发的流程。
内容的提问来源于stack exchange,提问作者mpa




