2

Workbook_BeforePrint メソッドで Excel ページ ヘッダーを更新するコードがいくつかあります。

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim ws As Worksheet
    Set ws = Worksheets("Sheet1")
    ws.PageSetup.LeftHeader = ws.Range("A1").Value
End Sub

Public Sub PrintSheet()
    Worksheets("Sheet1").PrintOut
End Sub

最初に印刷プレビューに移動せずに印刷すると、ヘッダーが更新されません。

最初に印刷プレビューに行くと、ヘッダーが追加されます。

最初に印刷プレビューに移動して印刷するときに、ページ ヘッダーが正しく更新されていることを確認するにはどうすればよいですか?

どうもありがとう!

4

2 に答える 2

0

それは私にとって期待どおりに機能しました。

Worksheets("Sheet1").Range("A1") に実際に何かが含まれていることを確認してください。シート名もチェックして、正しいことを確認してください。ワークシートには、UI から変更できる Name プロパティと、コードまたは [プロパティ] ダイアログから変更できる CodeName プロパティがあります。それらを混同していないことを再確認してください。コード Worksheets("Sheet1") は Name プロパティ (タブ名) を使用します。

また、一部の呼び出し手順でイベントを無効にしていないことを確認してください。次のように PrintSheet にステートメントを入れることができます

Debug.Print Application.EnableEvents

スタックの何かがイベントを無効にしていないことを確認します。

于 2012-07-19T16:00:52.303 に答える