PDFのBlogといいつつ、少し関係ないWORDのネタです。
Excelと比べてWORDの情報は少なく、結構悩むことが
多いんですよね。
まずこのWORD画面を見てください。
1ページ目 のページ番号は 1
2ページ目 のページ番号は 2
3ページ目 のページ番号は 3
4ページ目 のページ番号は 1
5ページ目 のページ番号は 2
6ページ目 のページ番号は 3
という構成になっています。
Wordではセクションを区切る事によって、ヘッダーやフッターを
切り替える事ができます。(実際には一つのセクション内でも
最初のページとその他のページ、奇数と偶数のページで
ヘッダーやフッターを切り替えられます)
この機能を利用して3ページ目の後にセクションの区切りがあり
4ページ目のページ番号を1~と設定する事で実現しています。
ここで問題、上記のwordファイルの3ページ目と4ページ目を
印刷するにはどうしたらいいのでしょうか?
『3-4』と指定すれば良いと思われた方・・・不正解です。
Wordの印刷画面で設定する"ページ番号"は、フッターで設定された
ページ番号を使用しなければいけません。
ただ当たり前ですが『3-1』と指定してもだめなんです。
(ちなみにこういう指定をすると3ページ目,2ページ目,1ページ目のように
逆順で印刷されます)
正解は
です。
複数のセクションで同じページ番号が使われている場合
『"P"ページ番号"S"セクション番号』という表記でページを
指定しなければいけないんです。
ここで入れる情報は、Wordのステータスバーの左端にある
『1ページ 2セクション』を見るのが正確で確実です。
(フッターなどは色々な事が出来るので間違う事があります)
なんとか実ページを指定して印刷することは出来ないか?
例えばセクションが複雑に切られているファイルの1ページ目から30ページ目まで
印刷したい時にいちいち調べたくないですよね。
(『1-30』と指定してしまうと実際に何ページ印刷されるか分からないのです)
色々調べてみたのですが、標準で指定する機能はもちろんWord VBAにも
そのような機能は用意されてないようです。
PrintOut メソッドでFrom TOを指定することが出来るのですが、
これも実ページではないのです。(Excel VBAのPrintOutメソッドは実ページ指定なんですけどね…)
ググッてみてもそれらしい情報は見つかりませんでした。
そこで、これを実現するマクロを作ってみました。
ダウンロードは↓こちらから
RealPageNumber.bas
エキスポートしたファイルなのでメニューに登録したりするのは
各自でお願いします。
使い方は簡単です。
RealPageNumberマクロを実行すると
と出てきます。全ページが初期表示されるので
そのまま[OK]を押すと
と変換されます。ここで再度[OK]を押すと印刷されます。
全ページではあまり意味が無いので
初期表示を変更します。例えば3,4,6ページ目を印刷したいとすると
と入力し[OK]を押す。
ここで再度[OK]を押すと指定したページは印刷されます。
もし、プリンターを変更したい場合は、この変換されたページ指定を
コピーしておき通常の印刷画面に貼り付けて使って下さい。
マクロの中
見ていただければ分かるのですが、指定された実ページにジャンプし
そのページ番号とセクション番号を取得しています。
こうしようと思ったきっかけは、Ctrl+Gのジャンプ機能で
半角で『』
一旦表示してその後、変換したページ番号で印刷します。
PS:そんなことしなくてもこうすれば出来るよ・・
という情報があればぜひ教えてください。
Excelと比べてWORDの情報は少なく、結構悩むことが
多いんですよね。
まずこのWORD画面を見てください。
1ページ目 のページ番号は 1
2ページ目 のページ番号は 2
3ページ目 のページ番号は 3
4ページ目 のページ番号は 1
5ページ目 のページ番号は 2
6ページ目 のページ番号は 3
という構成になっています。
Wordではセクションを区切る事によって、ヘッダーやフッターを
切り替える事ができます。(実際には一つのセクション内でも
最初のページとその他のページ、奇数と偶数のページで
ヘッダーやフッターを切り替えられます)
この機能を利用して3ページ目の後にセクションの区切りがあり
4ページ目のページ番号を1~と設定する事で実現しています。
ここで問題、上記のwordファイルの3ページ目と4ページ目を
印刷するにはどうしたらいいのでしょうか?
『3-4』と指定すれば良いと思われた方・・・不正解です。
Wordの印刷画面で設定する"ページ番号"は、フッターで設定された
ページ番号を使用しなければいけません。
ただ当たり前ですが『3-1』と指定してもだめなんです。
(ちなみにこういう指定をすると3ページ目,2ページ目,1ページ目のように
逆順で印刷されます)
正解は
です。
複数のセクションで同じページ番号が使われている場合
『"P"ページ番号"S"セクション番号』という表記でページを
指定しなければいけないんです。
ここで入れる情報は、Wordのステータスバーの左端にある
『1ページ 2セクション』を見るのが正確で確実です。
(フッターなどは色々な事が出来るので間違う事があります)
なんとか実ページを指定して印刷することは出来ないか?
例えばセクションが複雑に切られているファイルの1ページ目から30ページ目まで
印刷したい時にいちいち調べたくないですよね。
(『1-30』と指定してしまうと実際に何ページ印刷されるか分からないのです)
色々調べてみたのですが、標準で指定する機能はもちろんWord VBAにも
そのような機能は用意されてないようです。
PrintOut メソッドでFrom TOを指定することが出来るのですが、
これも実ページではないのです。(Excel VBAのPrintOutメソッドは実ページ指定なんですけどね…)
ググッてみてもそれらしい情報は見つかりませんでした。
そこで、これを実現するマクロを作ってみました。
ダウンロードは↓こちらから
RealPageNumber.bas
エキスポートしたファイルなのでメニューに登録したりするのは
各自でお願いします。
使い方は簡単です。
RealPageNumberマクロを実行すると
と出てきます。全ページが初期表示されるので
そのまま[OK]を押すと
と変換されます。ここで再度[OK]を押すと印刷されます。
全ページではあまり意味が無いので
初期表示を変更します。例えば3,4,6ページ目を印刷したいとすると
と入力し[OK]を押す。
ここで再度[OK]を押すと指定したページは印刷されます。
もし、プリンターを変更したい場合は、この変換されたページ指定を
コピーしておき通常の印刷画面に貼り付けて使って下さい。
マクロの中
見ていただければ分かるのですが、指定された実ページにジャンプし
そのページ番号とセクション番号を取得しています。
こうしようと思ったきっかけは、Ctrl+Gのジャンプ機能で
半角で『』
一旦表示してその後、変換したページ番号で印刷します。
PS:そんなことしなくてもこうすれば出来るよ・・
という情報があればぜひ教えてください。
今はPDFとWordの変換について困っていますから、PDFブログのWord紹介ファイルを見つけたとは
Wordだけではページ指定できないなら、Wordをページ指定で印刷してから、PDFに変換し、そして変換したものを印刷する、そんなことはできますか?