人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VisualBasic6.0からのプリンタ印刷で質問です。

2つの給紙トレイを持つプリンタで、プログラム上からトレイを任意に指定して(切り替えて)Printerオブジェクトを使用した印刷がしたいのですが、どのようにすれば良いのでしょうか?
サンプルなど、コーディングに必要な情報が網羅されているページがあれば教えてください。
ちなみに、どちらのトレイも紙のサイズは同じです。(紙の色が違う)

#WinAPIを使用した印刷はできれば避けたいですが、VisualBasic6.0からのコーディングに必要な情報が網羅されているページがあればお願いします。

希望する回答であれば1,000ポイント進呈させていただきます。

宜しくお願い致します。

●質問者: yokodai
●カテゴリ:コンピュータ
✍キーワード:いただきます オブジェクト コーディング サイズ トレイ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● llusall
●250ポイント

>プログラム上からトレイを任意に切り替えて

というのは、困難と思われますので、次の方法で実現してみてはいかがでしょうか?


1.[コントロールパネル]-[プリンタとFAX]にて、トレイ毎にプリンタを別名で追加する。

それぞれにトレイを指定しておきます。


2.VBから印刷時に、出力先プリンタを切り替える

参考 「通常使うプリンタ」の変更(サンプル)

http://www.mitene.or.jp/~sugisita/vb6_prt.html


以上、いかがでしょうか?

◎質問者からの返答

回答ありがとうございます。

妙案と思い試してみようと思ったのですが、プリンタ設定をトレイ毎に別名で追加する方法がわかりません。

教えていただけないでしょうか?

試してみましたが、作成できませんでした。

ちなみに対象のプリンタはローカル接続です。


2 ● きゃづみぃ
●500ポイント

http://bicniws.okwave.jp/kotaeru.php3?q=1421817

http://www.boreas.dti.ne.jp/~tosin/errvb/setprinter.htm

Printer.PaperBin を使ってできなかったら WinAPIですね。

◎質問者からの返答

回答ありがとうございます。

PaperBinは残念ながら実行時エラーになりました。プリンタに依存するようで、今回使用するプリンタでは不可でした。


3 ● llusall
●250ポイント

再回答すみません。


APIを使用する場合、ResetDCを使用するようです。

以下が参考になりますでしょうか?


VBからResetDCを使用する参考ソース

http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B180645

' Constants for printer bin.

Private Const DMBIN_UPPER = 1

Private Const DMBIN_LOWER = 2

Ret = ResetPrinterDC(Printer.DeviceName, hPrintDc, DMBIN_UPPER, DMORIENT_PORTRAIT)


ResetDC

http://www.microsoft.com/JAPAN/developer/library/jpgdipf/_win32_...


※なお、前回回答時の、プリンタの指定は、DeviceName を指定しても可能のようです。

http://www.bcap.co.jp/hanafusa/VBHLP/print03.htm

◎質問者からの返答

ありがとうございます。

試してみましたが、今回使用するプリンタではうまくいきませんでした。

(他のプリンタで実行したところうまくいきました)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ