2015-12-08 198 views
0

之前,我已經看到了這個類似的問題,但還沒有找到一個很好的答案。我正在嘗試自動運行宏,在打印前格式化頁腳日期和字體。宏格式打印

此代碼不能正常工作,但已接近上的日期/字體格式:在打印前

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 

如何將這些結合到一個工作?任何幫助不勝感激。

回答

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 
+0

感謝您的回覆,斯科特。字體/日期格式化行仍然不起作用。字體家族(Verdana)的作品,但它不是大膽的,而我留下的日期只是說「2015年」,應該說「2015年12月8日」。任何想法? – Nick

+0

@Nick - 我想我第一次將錯誤的語法複製到了我的答案中。我只是用正確的語法編輯它。這有點時髦和具體,但與宏記錄器,我想通了:) –