重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセルの複数シートのデータを両面印刷可能なプリンターで、両面印刷するためのマクロを書きたいのですが、どうしてもうまく行きません。

シート名は、1,2,3,4 と4シートで、それぞれのシートにA4用紙1枚分のデータがあり、それが印刷範囲に指定されています。それら4枚分の印刷範囲を、1枚のA4用紙に、2ページを1ページに圧縮+両面印刷 で印刷したいのですがどうしてもうまく行きません。(プリンターのプロパティ設定はマクロ実行前にSheet1で行っているのですが。)

どなたかお分かりになる方、お手数ですがご教授願えませんでしょうか。

補足:ちなみに、4ページ分を1ページに印刷して、片面での印刷は以下のマクロで出来ています。

Sheets(Array("1", "2","3","4")).Select
Sheets("1").Activate
'この時Sheet1で、プリンターのプロパティで、4ページを1ページに印刷を選択してある。
ActiveWindow.SelectedSheets.PrintOut Copies:=1

よろしくお願いします。

ちなみにプリンターは事務所のネットプリンターで、TOSHIBA e-STUDIO4520CSeriesPCL6 です。

A 回答 (2件)

プリンターのプロパティ設定は、Sendkeysでイケルことが多いですよ。



ANo.1の補足を読んだ感じだと、、
全シート印刷されているのでSelectはできているはず。「あらかじめ設定」だと、プリンター設定の反映され方に違いがあるのかな・・・?
だとしたら、シート選択した後、プリンターを設定するしかないと思います。
Sendkeys試してみてください。

この回答への補足

私の質問へのご協力大変ありがとうございます。

>全シート印刷されているのでSelectはできているはず。「あらかじめ設定」だと、プリンター設定の反映され方に違いがあるのかな・・・?

確かに、おっしゃる通りだと思います。

>Sendkeys試してみてください。

Sendkeys をトライしようと思うのですが、未熟にもこのコマンドは使ったことがなく、これから勉強します。又、その結果を報告します。よろしく。

補足日時:2012/07/13 09:40
    • good
    • 0

「マクロの記録」は行いましたか?



1シート4ページだろうが、4シート各1ページだろうが同じこと。
プリンタの設定です。会社で名称が異なるかも?だけど「割付」機能+両面ですね。

> 2ページを1ページに圧縮+両面印刷
マクロの記録中に、プリンタで割付設定して両面印刷を指定してください。

この回答への補足

早速のご返事ありがとうございます。

>マクロの記録中に、プリンタで割付設定して両面印刷を指定してください。

マクロの記録中に、プリンターで割付設定や両面設定しても、マクロには何にも記録されません。
このようなプリンターの設定は、マクロでは出来ないと思います。

ですから、マクロ実行前に最初のシートである "1"(シート名) にて手動でプリンター設定をし、
例えば、
Sheets(Array("1", "2", "3", "4")).Select
Sheets("1").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1
を実行したのですが、両面印刷を設定していると、
Sheets(Array("1", "2", "3", "4")).Select も実行しなくなり、最初の"1" のデータだけA41枚の4分の1の面積に印刷され(このシートは残り空白で出てきて)、残りのシートはそれぞれがA41枚で印刷され、合計4枚でてきます。
両面印刷に設定していないと、Sheets(Array("1", "2", "3", "4")).Select 
が実行され、全てのデータがA4の4分の1の面積に印刷され、全部でA4一枚(片面印刷)で出て来ます。

補足日時:2012/07/11 09:49
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!