打印前格式化的宏

时间:2015-12-08 14:53:41

标签: excel-vba vba excel

我见过类似的问题,但没有找到一个好的答案。我正在尝试自动运行宏,在打印前格式化页脚日期和字体。

此代码不起作用,但在日期/字体格式上关闭:

Sub Fix_Footer_Date()
ActiveSheet.PageSetup.CenterFooter = "&14&""Verdana,Bold" & Format(Now, "mmmm dd, yyyy")
End Sub

这样的东西会在打印之前自动运行吗?

 Option Explicit
 Private Sub Workbook_BeforePrint(Cancel As Boolean)
     Your code here
 End Sub

如何将这些组合成一个有效的?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

首先,我强烈鼓励您对要使用的工作表进行限定,而不是使用ActiveSheet,因为ActiveSheet可能并不总是您想要的工作表与之合作。

其次,我修改了语法以使你的页脚按预期工作。我只是记录了一个宏来获得正确的语法(并根据你的公式调整它)。

Sub Fix_Footer_Date()

Dim ws as Worksheet
Set ws = ThisWorkbook.Worksheets("mySheet") 'change as needed

ws.PageSetup.CenterFooter = "&""Verdana,Bold""&14" & Format(Now, "mmmm dd, yyyy")

End Sub

然后,只需在Before_Print事件中调用宏。

Option Explicit
 Private Sub Workbook_BeforePrint(Cancel As Boolean)
     Fix_Footer_Date 'you could also write the code directly into this event, if you wish.
 End Sub