- - PR -
Excelのプリンタ設定を変更
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-27 13:31
現在VB6.0で,Excelオブジェクトを用いてExcelファイルの全シートを印刷するPGを作成中です。
印刷時のプリンタ設定は 部数:2部 カラー:白黒印刷 と決まっており,APIを用いてプリンタの設定をこれらに変更する方法は分かりました。 しかし,実際に動かしてみると,APIで設定したプリンタの設定よりも,Excelファイルが内部に保持しているプリンタの設定が優先されてしまいます。 Excelファイルが内部に保持しているプリンタの設定(DEVMODE構造体?)をPGから変更する方法はないでしょうか? | ||||||||
|
投稿日時: 2005-10-27 13:49
API でなくとも、Excel オブジェクト側で出来ると思いますが...
プリンタ指定は、Printout メソッドの ActivePrinter 引数が使えます。 部数ならば、Printout メソッドの Copies 引数が使えます。 白黒印刷ならば、PageSetup の BlackAndWhite プロパティを True にすれば出来ます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-10-27 22:07
PrintOutメソッドの引数,およびPageSetupオブジェクトの
各プロパティを設定することによって,希望の動作が実現しました! じゃんぬねっと様,どうもありがとうございました。 | ||||||||
|
投稿日時: 2005-10-27 23:58
Excel全般に言えることですが、
マクロ記録モードにして、自動化したい動作を実行すると、 どういう関数・プロパティを操作すべきかわかると思います。 VBAのソースとVB6のソースはそんなに変わりがありませんので、 簡単に移植も可能ですよ。 #ヘルプより早いかもしれません。 | ||||||||
|
投稿日時: 2005-10-28 07:46
>かつのり様
あぁ,なるほど・・・ 役立つアドバイスをありがとうございます! | ||||||||
|
投稿日時: 2005-10-28 08:55
あとは VB のサイトだと情報が少ないですので、
VBA マクロ系のサイトを調べると「出来ること」が把握できます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-11-01 15:47
白黒印刷の設定についてさらに質問させてください。
PageSetupを用いた方法で変更できるのは,Excel側のページ設定の中にある白黒印刷の設定のようです。 Excelのページ設定ではなく,プリンタの印刷設定画面(各プリンタで異なる)で,白黒印刷(グレースケール印刷)を設定したいのですが,これをVB側から制御するにはどのようにしたらよいでしょうか。 試しにマクロ記録モードで動かしてみたところ,プリンタの印刷設定画面をいじった部分はコードに反映されていませんでした。 ExcelのVBAではプリンタ側の設定は変更できないのでしょうか。 AccessではDEVMODEをVBAからいじれるようですが・・・ | ||||||||
|
投稿日時: 2005-11-01 17:51
その通りです。 ユーザの意図しない設定の変更は、本来行ってはいけないのでお勧めしました。
DEVMODE で白黒印刷って制御できましたっけ? http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12234&forum=7 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1