- ベストアンサー
EXCELで異なるbookを印刷する時のページ連番について
初心者です、よろしくお願いします。 (EXCEL2000使用です) 1つのフォルダに複数のEXCELファイルがあります。 仮に.. book1,book2,book3とします。 それぞれのbookに複数のsheetがあります。 仮に.. sheet1,sheet2,sheet3とします。 フッターにページ番号をつけて印刷しますが、異なるbookの時に続けて連番表示をしたいと思います。 book1(sheet1~sheet3)が1ページから3ページ book2(sheet1~sheet3)が4ページから6ページ book3(sheet1~sheet3)が7ページから9ページ このような事は可能でしょうか? (sheetは常時増減しますので、book2はいつも4ページからとは限りません。又、データが多いので1つのBookにもまとめたくないです) 以上よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>このような事は可能でしょうか? ○可能と思います。 単一プックで、 複数の任意のシートを選択 選択した各シートの印刷頁数は一定ではない(1頁以上) この状態で、印刷総頁数の把握は可能です。 選択した複数シートの印刷総頁数を取得して、 フッタに1/123、2/123のように印刷しています。 頁数の取得方法は、 VPageBreaks(必要ならHPageBreaksも使って)でできそうですが、あまりうまくいかないようです。 Microsoftのサポートページに、このプロパティの補足説明があったと思います。 ○ということで、個人的には、Excel2000 の場合は、Excel4Macroの Application.ExecuteExcel4Macro("GET.DOCUMENT(50)") で取得しています。縦横の改頁(頁数)を取得できます。 ○これで単一ブックの問題は解決できますが、他の複数ブックを印刷するほうが面倒でしょう。 各々を参照設定していれば少しは楽ですがあまり書きたくないですね。 ○これを実行するとすれば、(VBAです) 1.他の複数ブックの印刷するシートをコピーして1つのブックにしてしまう。 2.その1シート目を印刷し、そのシートの頁数を GET.DOCUMENT(50) で取得。 3.2枚目のシートのフッタに取得した頁数を加算。 4.以下、2~3を繰り返す。 5.コピーして作成したブックは破棄する。 で可能でしょう。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルのVBAでの印刷にはSheet単位、Range(範囲指定)単位などの印刷があると思います。 範囲指定Range("a1:h30").PrintOut等の時は印刷を終わって何ページ印刷したか、自分でプログラムの中でカウントできますが、シート単位の印刷などのとき、印刷を終わった時、何ページ印刷したか、結果を変数に取ることが (そう言うプロパティがない)できない(お任せなので)と思いますので、次のシートの印刷の最初ページ数の設定へ繋げるのが難しい(出来ない)のではと予想します。
お礼
ありがとうございます。もう少し勉強します。
- imogasi
- ベストアンサー率27% (4737/17069)
メニューのファイル-ページ設定-ページのタブクリックで、「先頭ページ番号」(自動となっている)を3とかに直すと、3ページからページ数を振って、印刷すると思います。人間が各シートの印刷の最後ページ数を控えて、+1して指定して次のシートを印刷して行くのも、ひとつの手ではないでしょうか。
お礼
ありがとうございます。 参考になりました。
- GuruGuru22
- ベストアンサー率51% (177/346)
フッターないしヘッダーの設定で &[ページ番号]+5 のようにすれば、ページ番号に 増減した値になります。 自動的に処理するのであれば VBAを使う必要があるかと思います。
お礼
ありがとうございます。 VBAを使う場合の構文をご教示いただけるとありがたいのですけれど.. よろしくお願いします。
お礼
ありがとうございます。 大変参考になりました。 (自分の技量がまだ追い着いていませんが..) 頑張ってヤッテみます!