- ベストアンサー
VBAにてヘッダー&フッダーの設定のしかた
vbaにてヘッダー&フッダーを設定したいと思っています。 With ActiveSheet.PageSetup ・・・・・ ・・・・・ End With みたいな感じで設定したいと思っているのですが、 ページが複数になった時、ヘッダーは1枚目だけ、 フッダーは2枚目だけに表示するようにしたいのですが、 可能でしょうか? EXCEL2000です。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
印刷も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)
こんにちは。 プレビューモードで確認するときは、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)
私の経験とWEBで少し調べて見ましたが 1ページ(各ページ)印刷完了という通知(またはストレートに今何ページ目印刷中という情報)がエクセルVBA側で捉えられない(返ってこない)ので、正面からは質問のことは出来ないと思います。 (今何ページ目印刷中かがプログラム的にわからないということ) 印刷は印刷依頼とデータををプリンタに渡したら、プリンター機器異常事態(紙詰まり, など)・印刷終了は別として、プリンターとの余り情報のやり取りをしてない仕組みのようです。 既回答のように(From、Toページ数を使って、印刷セッションを2つに分けて)巧妙な使い方で、凌ぐよりほか無いのでしょう