Microsoft 製品に組み込まれている Visual Basic の実装。
どういう時に、どういうイベントが発生しているか正確に理解された方がいいです。
ファイルを開いたときに、Openイベントが発生して、さらに、Activateイベントも発生します。
なので、後で発生した、Activateイベントの「メイリオ」のフォントのみが設定されます。
保存した際、BeforeSaveイベントが発生して、正しく、日付が設定されても、印刷プレビューや印刷した際に、「メイリオ」のフォントのみが設定され、せっかくの日付が消えます。
以下のサンプルを実行して、イベントが発生するタイミングを理解して下さい。
Private Sub Workbook_Activate()
If MsgBox("Activateイベントを実行しますか?", vbYesNo) = vbNo Then Exit Sub
ActiveSheet.PageSetup.RightFooter = "&""メイリオ"""
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If MsgBox("BeforePrintイベントを実行しますか?", vbYesNo) = vbNo Then Exit Sub
ActiveSheet.PageSetup.RightFooter = "&""メイリオ"""
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If MsgBox("BeforeSaveイベントを実行しますか?", vbYesNo) = vbNo Then Exit Sub
ActiveSheet.PageSetup.RightFooter = "&""メイリオ""" & Format(Date, "yyyy / mm / dd")
End Sub
Private Sub Workbook_Open()
Dim file_name As String
If MsgBox("Openイベントを実行しますか?", vbYesNo) = vbNo Then Exit Sub
file_name = Replace(ActiveWorkbook.Name, ".xlsm", "")
ActiveSheet.PageSetup.LeftHeader = "&""メイリオ""" & file_name
End Sub