EP03. “Create a Footer Before Printing 打印前自动生成页脚”
🔒 登录后可标记已读- 用 Workbook 对象的 BeforePrint 事件,在每次打印之前自动把当前文件的完整路径写进页脚
- 方便打印出来的纸本文件能追溯到是哪个文件、放在哪里
- 前置知识:EP01 的事件绑定方法
- 学完能理解 PageSetup 对象怎么用代码控制页面设置
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
绑定 BeforePrint 事件
- 打开 VBE
- 在 Project Explorer 双击 ThisWorkbook(不是某个 Sheet,因为这是工作簿层级的事件)
- 左边下拉选 Workbook,右边下拉选 BeforePrint
[截图:Workbook BeforePrint 事件下拉选择]
完整代码
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.PageSetup.LeftFooter = ActiveWorkbook.FullName
End Sub
PageSetup对象包含所有页面设置属性(左页脚、下边距、纸张大小、左边距等)LeftFooter是页脚左边的文字区域,还有 CenterFooter、RightFooter 可以用同样方式设置ActiveWorkbook.FullName会返回当前工作簿的完整路径 + 文件名
实操示例
执行打印(Ctrl + P 预览或直接打印),观察页脚左下角是否自动出现文件的完整路径。
[截图:打印页脚显示文件路径]
学完你会
- ✅ 知道 BeforePrint 是工作簿层级事件,要写在 ThisWorkbook 里
- ✅ 用
PageSetup.LeftFooter/CenterFooter/RightFooter设置页脚内容 - ✅ 用
ActiveWorkbook.FullName取得当前工作簿的完整路径
常见错误
- 把代码写在某个 Sheet 对象里而不是 ThisWorkbook,BeforePrint 是工作簿层级事件,写错位置不会触发
ActiveWorkbook和ThisWorkbook搞混——如果打印时活动工作簿不是这个文件本身(比如从别的文件触发打印),两者结果会不一样- 忘记页脚有长度限制,文件路径太长可能被截断显示不全
Sources
Blog / Website: