• ベストアンサー

VBAにてヘッダー&フッダーの設定のしかた

vbaにてヘッダー&フッダーを設定したいと思っています。 With ActiveSheet.PageSetup ・・・・・ ・・・・・ End With みたいな感じで設定したいと思っているのですが、 ページが複数になった時、ヘッダーは1枚目だけ、 フッダーは2枚目だけに表示するようにしたいのですが、 可能でしょうか? EXCEL2000です。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

印刷もVBAで行うならとしてはどうでしょうか? With ActiveSheet.PageSetup 1枚目の設定 End With ActiveSheet.PrintOut From:=1, To:=1 With ActiveSheet.PageSetup 2枚目以降の設定 End With ActiveSheet.PrintOut From:=2

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 プレビューモードで確認するときは、Preview:=True で行ってください。 Preview:=False で、印刷になります。 .PageSetup.LeftHeader 左側です。 Left, Center, Right に書き換えてください。 標準モジュールに貼り付けてください。 --------------------------------- Sub TestPrinting1()  Dim lPTotal As Integer  Dim i As Integer  Dim fPage As Integer    fPage = 1 '最初のページ  With ActiveSheet  .PageSetup.LeftHeader = ""  .PageSetup.LeftFooter = ""  lPTotal = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")  For i = fPage To lPTotal   If i = 1 Then     .PageSetup.LeftHeader = "firstpage " & i   Else     .PageSetup.LeftHeader = ""     .PageSetup.LeftFooter = "afterpage " & i   End If   .PrintOut From:=i, To:=i, Preview:=True 'プレビューモード/False:印刷  Next  End With End Sub

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

私の経験とWEBで少し調べて見ましたが 1ページ(各ページ)印刷完了という通知(またはストレートに今何ページ目印刷中という情報)がエクセルVBA側で捉えられない(返ってこない)ので、正面からは質問のことは出来ないと思います。 (今何ページ目印刷中かがプログラム的にわからないということ) 印刷は印刷依頼とデータををプリンタに渡したら、プリンター機器異常事態(紙詰まり, など)・印刷終了は別として、プリンターとの余り情報のやり取りをしてない仕組みのようです。 既回答のように(From、Toページ数を使って、印刷セッションを2つに分けて)巧妙な使い方で、凌ぐよりほか無いのでしょう

関連するQ&A