アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBからPrinterオブジェクトを使用して複数ページを印刷しています。

Printer.print "1ページ目"
Printer.EndDoc
Printer.print "2ページ目"
Printer.EndDoc
Printer.print "3ページ目"
Printer.EndDoc

のように命令を実行すると、1,2,3の順に印刷されず、1,3,2の順に印刷されます。(いつもではありません)

おそらくプリンタのプロパティのスプール周りの設定によってこのようになるのかなと思っているのですが、確実に印刷命令を発行した順番に紙が排出されるようにするにはどのようにしたらよいでしょうか?

A 回答 (2件)

NewPage は印刷を開始しないはずですね。



おっしゃるような条件では #1 の方法はだめですね。

私だったら

WINAPI を使用して、プリンタの状態を見ながら順番に印刷する方法

を試してみます。

あるいは数ページずつまとめて印刷かな。

それでもだめなら C で DLL を作って VB から呼び出すかな。

参考URL:http://www.winapi-database.com/Graphics/Printer/ …
    • good
    • 0
この回答へのお礼

いろいろと教えていただきありがとうございました。

お礼日時:2006/06/26 09:09

Printer.print "1ページ目"


Printer.NewPage
Printer.print "2ページ目"
Printer.NewPage
Printer.print "3ページ目"
Printer.NewPage
Printer.EndDoc

では?

この回答への補足

ご回答ありがとうございます。あまり詳しくないのですが、.NewPageメソッドを発行したタイミングでそのページ印刷がプリンタにわたされるのでしょうか? 今回問題になっているプログラムは場合によっては数百ページの印刷を行う場合もあるのでなるべく早くページをプリンタに渡したいと思いページ毎にEndDocを発行しているのですが...もしNewPageでは実際に印刷が開始されないのであれば教えていただいた方法は残念ながらとれません。

補足日時:2006/06/23 17:50
    • good
    • 0

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