• ベストアンサー

Excel2000で複数のシートを両面印刷したい。マクロで可能でしょうか?

みなさん、いつもご丁寧に回答いただき有難うございます。  作業環境:    Windows XP Homeedithon    Excel2000 SP3    Canon ip4200(プリンター)  Excelで複数のシートがあり、それぞれを同時に両面印刷したい場合、現在はシート毎に印刷設定をしています。(シートを複数選択した状態で印刷設定した場合、最初に選択したシートにのみ印刷設定がされてしまうため)  その作業を簡略化するため、マクロ機能を利用して両面印刷設定をしたいのですが、そのようなことは可能なのでしょうか。マクロの作業記録機能を用い、印刷設定を試してみましたが、どうやら両面印刷のチェックは無視されたようです。  ご回答、よろしくお願いいたします。  

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

  • ベストアンサー
noname#79209
noname#79209
回答No.6

#3です。 > 次回にそのソフトから出力されたExcelファイルには、両面印刷のチェックが外れています。 > これは、ソフト側の問題なのでしょうか。ちなみに、ソフトは『楽々ケアプラン』というものです。 多分「ソフト側の問題」です。 そのソフトはプリンタが「両面印刷」に対応しているかどうかなど斟酌していないはずです。 私の回答はプリンタが持っているオプションを指定しているので、そのソフトが毎回新たなエクセルファイルを出力するのであれば、 毎回指定することになるでしょう、 一度、システムプラネット社に問い合わせた方が良いでしょう。

Chown
質問者

お礼

vizzar さん、何度もご回答ありがとうございます。  今回の件について、vizzar さんのアドバイスの通り、システムプラネット社に直接問い合わせてみることにします。  また、結果はこちらでお知らせしようと思いますので、数日お待ちください。よろしくお願いします。

Chown
質問者

補足

vizzar さん、おはようございます。昨日はアドバイス有難うございます。  システムプラネット社に問い合わせましたら、意外にも簡単に解決策がわかりました。社の回答を要約します。 ・当該ソフトで出力するファイルは、Excel のオリジナルファイルをもとに、別ファイルを生成している。 ・そのため、オリジナルファイルの印刷設定(デフォルト設定となる)を変えることで、生成ファイルの設定も引き継がれる。 ・具体的には「オリジナル」フォルダに入っている、雛形ファイルを開け、印刷設定を変更し保存する。そして、当該ソフトを起動し、印刷用ファイルを生成すると、そのファイルの印刷設定が、雛形ファイルの設定を引き継いでいる。  ということでした。  これにて、本問題は解決しました。皆様、有難うございます。

その他の回答 (5)

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

こんにちは。 >当該ファイルを保存しても、そのあとに同名ファイルとして上書きされたファイルを開けると、設定が元に戻る(両面印刷のチェックが外れている)のです。 その件は、一応、言われると思っていました。それは想定していました。 作業グループからの印刷は、特別な場所をとっていますから、設定自体は保存されません。(これに対する方法はあります。) ただ、もう一度確認してほしいのですが、プリンタのデフォルトの設定が反映する方法です。 通常、アプリケーションの外からプリンタの設定をした場合は、プリンタの設定を制御できるアプリケーション・ソフトはないと思うのです。VBAから、プリンタの両面印刷を操作できる方法がないのと同じように、アプリケーションソフト自体もないと思います。 スタート-コントロールパネルとかいう方法でもよいのですが、Canon などは、ユーティリティ・ソフトがありますから、そこで、ソフトを開いていない状態で、両面印刷を設定してから、ソフトを起動して、同じ作業を行ってみたらどうでしょうか? 別案としては、保存する方法ではなく、臨時のシートを作ってしまうのです。そして、そのシートで印刷するという方法です。画面の画像をリンク・コピーして張り付けるという方法ですと、元のシートに反映して、元のシートが変われば、臨時のシート側も変わります。そのシートの設定なら、試してみましたが、こちらでは保存はされました。

Chown
質問者

お礼

Wendy02 さん、ユニークなご提案ありがとうございます。 >スタート-コントロールパネルとかいう方法でもよいのですが、 >Canon などは、ユーティリティ・ソフトがありますから、そこで、ソ >フトを開いていない状態で、両面印刷を設定してから、ソフトを起動 >して、同じ作業を行ってみたらどうでしょうか?  試してみましたが、残念ながら反映されませんでした。当該ソフトが設定を無視するようです。  臨時のシートを使う方法ですが、失礼ですが、方法がわかりませんでした。  0)プリンタのユーティリティソフトで両面印刷をチェックして    おきます。    1)私が印刷したいブックには、2シートあります。  2)それに、1つ臨時シートを挿入します。  3)2シートの表を画像として臨時シートに貼り付けます。  4)そして、両面印刷します。  ということでしょうか。

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

こんちには。 たぶん、作業グループにすること自体は間違いないと思います。 >そのソフトでExcelシートファイルを作成した場合、「スタート」の中にある「設定」「プリンタ」で設定した、プリンタの初期設定が反映されないのです。 本来は、Windowsメニューの[スタート]からの設定と、個々のソフトウェアとは直接には結びつかないはずです。 もう一度試してみていただきたいのは、作業グループにした後に、印刷プレビューを行い、まず、次ページに、次のシートが入っているか確認し、 次に、 ------------------------------------ [設定(印刷プレビュー内)]-[ページ]-[オプション] ------------------------------------ Canon iP4200 プロパテイ-ページ設定 [両面印刷]にチェックを入れます。 ------------------------------------ そうしたら、解決するはずだと思っています。(通常、作業グループは残りませんので、シートごとに、印刷の設定が必要かもしれません。) 私の記憶が確かなら、ブックか、シートに対してプリンタ側のプロパティも保存されるはずです。 なお、マクロの方は、こちらが解決しないと先に進めません。

Chown
質問者

お礼

Wendy02 さん、何度も有難うございます。 >本来は、Windowsメニューの[スタート]からの設定と、個々のソフトウェアとは直接には結びつかないはずです。  そうなのですね。知りませんでした。そう考えると、このソフトから出力されたファイル(常に同じファイル名で上書きされる)の印刷設定が、コントロールパネルでの設定が反映されないことが理解できます。  そして、お教えいただいた方法を試しました。確かに、シートごとに両面印刷の設定をする必要があります。しかし、当該ファイルを保存しても、そのあとに同名ファイルとして上書きされたファイルを開けると、設定が元に戻る(両面印刷のチェックが外れている)のです。  これは、このソフトウェア会社に問い合わせるのが一番でしょうか。

noname#79209
noname#79209
回答No.3

私のプリンタは4100Rですが、 各シート毎にページ設定をしておけば可能かと... 1.「ファイル」-「ページ設定」で「ページ」タブをクリック  (普通はこのタブが最初に選択されている) 2.「オプション」ボタンをクリック 3.「Canon PIXUS iP4200のプロパティ」のウインドが表示されるので、  「ページ設定」タブをクリック。 4.「両面印刷」チェックボックスをクリックしてチェックをつける。 5.「OK」ボタン(2回)で終了。 上記を各シート毎に設定しておけば良いはずです。

Chown
質問者

お礼

vizzar さん、ご回答有難うございます。  vizzar さんがお教えいただいた方法で試してみるのですが、設定した回はそれが反映されるのですが、次回にそのソフトから出力されたExcelファイルには、両面印刷のチェックが外れています。  これは、ソフト側の問題なのでしょうか。ちなみに、ソフトは『楽々ケアプラン』というものです。

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

こんにちは。 プリンタには、両面印刷機能があるのですから、後は、シートを複数選択した作業グループにして印刷すればよいのではありませんか?

Chown
質問者

お礼

Wendy02 さん、ご回答有難うございます。  私も最初その通りに試してみたのですが、実現しませんでした。私が利用しているのは、あるExcelとAccessを利用したソフトウェアなのですが、そのソフトでExcelシートファイルを作成した場合、「スタート」の中にある「設定」「プリンタ」で設定した、プリンタの初期設定が反映されないのです。

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

両面印刷といっても発達段階で色々あるのでは (1)ユーザーが全てプログラムを組んで1,3,5・・を印刷させて折り返し点で、人手で印刷済み紙の束を裏返しセットする。 (2)1ページ飛ばしはプリンタなどのドライバが行う。 表面印刷が最後まで行くと、裏面セットの促しのメッセージが出て OKで裏面印刷(ページ数的にとびと)に入る。 印刷済み紙の束を裏返しセットするのは人手で行う。 (3)紙の1枚について表印刷が終ると、次のページをその紙裏面にも印刷を行うマシン的な機構が備わっている。高級機種。そういうのも現在では販売されてあるようだ。 http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ja/admin-guide/ch-printers.htmlの 7.1.1.1. 機能参照 ーー 普通はル両面印刷とは、(2)がほとんどでしょう。 ーー 以上はシート1枚での他ページに渉る印刷の場合ですが、 VBAでPageSetUpはシートオブジェクトごとの設定なので シートごとに設置は必要でしょう。 それに多シートの場合、両面印刷とはいっても1シートの終わりが表だった場合、裏面は飛ばして次シートを表に印刷するのか、色々あるので、ニーズはどうなのかな。 やはりシート単位にやらないとシステムも大変ではないかな。 この質問は両面印刷+多シートを一遍に(両面)印刷の複合型ですか。

Chown
質問者

お礼

imogasi さん、ご丁寧に回答いただき有難うございます。  私が今利用しているプリンター『Canon ip4200』は、3年ほど前に購入したのだと思いますが、家庭でのパーソナルユーズ機種ながらも「自動両面印刷」が可能となっています。  また、VBAでPageSetUpはシートオブジェクトごとの設定ということですので、マクロでも複数のシートに同時に印刷設定するのは困難だということでしょうか。 >この質問は両面印刷+多シートを一遍に(両面)印刷の複合型ですか。  はい。その通りだと思います。シート「A」、シート「B」の二枚がありまして、それぞれA41ページ分の印刷範囲ですから、表裏両面印刷にして1枚のA4用紙が必要です。