[[20160328151852]] 『カラーと白黒印刷』(緑の杏) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『カラーと白黒印刷』(緑の杏)

マクロ初心者ですが、よろしくお願いします。

見積書など、お客様用にカラーで印刷し、
控えとして白黒で印刷するマクロを教えていただけませんか。

今は、プレビューから印刷の設定を変更して
2回印刷しています。

1回で済むマクロをお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


プリンタ設定で1箇所変更するだけなので、マクロでも1行だろう、とお考えかと思いますが、
色の変更はExcel標準機能ではできなくて、APIを駆使する事になるので、非常に難しいのです。
(プリンタに対する変更権限を指定して、デバイス構造体の中から目的のプリンタを探して、
パラメータを変更して、書き戻す…、等)
ネットワークプリンタの場合は、更に面倒かも知れません。

別案として、もし色が付いているのがセルだけで、画像とかは貼っていない場合、
セルの色を一時的に白黒に変更し印刷する、という手があります。全部白黒印刷にしておき、
あとはプリンタが自動判定して切り替えてくれる事を期待する訳ですね。いかがでしょうか?
(???) 2016/03/28(月) 15:44


 サンプルです。
 最近のプリンタなら、ほぼ、以下で行けると思います。
 もし、だめなら、??? さん指摘の通り、結構面倒な仕掛けになります。

 Sub test()
    With ActiveSheet.PageSetup
        .BlackAndWhite = True
        .Parent.PrintOut
        .BlackAndWhite = False
        .Parent.PrintOut
    End With
 End Sub

(β) 2016/03/28(月) 15:49


プリンタのデフォルトがカラーであれば、シートのプロパティ変更でいけますかね。

 Sub test()
    Call sPrint(True)
    Call sPrint(False)
 End Sub

 Sub sPrint(Mode As Boolean)
    ActiveSheet.PageSetup.BlackAndWhite = Mode
    ActiveSheet.PrintPreview
 End Sub
(???) 2016/03/28(月) 15:58

 To βさん

    With ActiveSheet.PageSetup
        .BlackAndWhite = True
    End With

 ページ設定のシートTabの印刷欄にある「白黒印刷」(Excel側で白黒に設定)にチェックを入れるですよね(下記URL先参照)。
https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=013520
 プリンター側のモノクロ設定よりも、きれいに印刷できそうなので、いいかもしれませんね。
プリンター側のカラー設定をモノクロに変更するマクロは複雑になるってことですかね(APIを使用しなきゃいけなかったり)。

 ただ、プリンターをリースしている場合は、どうなんだろ?
 「白黒印刷」(Excel側で白黒に設定)でも、
 プリンター側がカラーの設定になっていたら、
 カラー印刷としてカウントされちゃうんですかね?

(マリオ) 2016/03/28(月) 16:28


β様、???様、マリオ様 有難うございました。

プリンターのデフォルトがカラーの前提で
β様の式で印刷が出来ました。

マリオ様

>カラー印刷としてカウントされちゃうんですかね?
 
料金の事を考えて今回の件になったのですが、
カウントされてしまうのか確認してみます。

有難うございました。
(緑の杏) 2016/03/28(月) 16:44


 To 緑の杏さん

 使用しているプリンターは1台のみですか?

 (1)コントロールパネルにて次のように設定
    緑の杏さんのPCでのみ、プリンター【A】の初期設定はカラー、プリンター【B】の初期設定はモノクロ
(コントロールパネル → ハードウェアとサウンド → デバイスとプリンター 
→ プリンター上で右クリックして一覧から、印刷設定を選択 
→ 色設定をカラー/モノクロのどちらかを選択)で初期設定が変更できると思います。

 (2)エクセルのVBAで、プリンター【A】を選択して印刷、次に、
 プリンター【B】を選択して印刷するマクロを書く。みないな感じでよければ、簡単なのかな?
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv261.html#5

 詳しくないですが、エクセルのVBAで、プリンターの色設定(カラーかモノクロか)を変更するのは、
 難しそうですね。

 どうやら、「カラー/モノクロ指定するAPI」を公開しているプリンターは少ないみたいですよ。
 「カラー/モノクロ指定するAPI」はすべてのプリンターで、共通でないらしいです。
 「カラー/モノクロ指定するAPI」を公開していないプリンターが大半だとか?
http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=33463 

(マリオ) 2016/03/28(月) 18:33


マリオ様 有難うございます。

プリンターは共有して使用しております。

メーカーの人に確認をしましたところ、
WordやExcel等は関係なく、ブラックのみのトナーを使用したらモノクロ料金で、
少しでもカラーのトナーを使用したらカラー料金との事でした。

β様の式で出来たので様子をみてみます。

とても難しい事に足を踏み入れてしまった様な気がしました。
マリオ様、β様、???様、貴重なお時間を有難うございました。

(緑の杏) 2016/03/29(火) 09:46


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.