• 締切済み

インクジェットプリンタで大量の印刷をする時は・・・

いつもお世話になっております。 毎年1回、地区の市民1500人にハガキ印刷をして、行事の案内を対象の個人に送付しています。 今年まで、データはエクセル、印刷はワードの差し込み印刷で行っていましたが、差し込み印刷の結果、ミスを訂正することが極めて複雑で思案していました。 拙い知識ですが、すべてをエクセルのVBAで作成してみました。 来年からやってみようと思うのですが、VBAでサーッとRUNさせた場合、インクジェットプリンターのスプールに大量のデータが貯まることが予想されます。 ミスが無いことを前提で・・・、その際途中で止めたり(ポーズかな)、待ったり、するなど、スムーズに印刷作業をするテクニックなどがあったら教えてもらえませんか? VBAではポーズなど途中に待つ(一時止める)の命令が無いようなので(確か?) 一応 私の年賀状は50枚づつ印刷しているのですが・・・ 200程度は50枚で4回で終わりますが、1500枚となると・・・という不安がありますので・・・ 宜しくお願いします。

みんなの回答

  • kichi8000
  • ベストアンサー率41% (660/1584)
回答No.4

はがき印刷ソフトと同じ事をVBAでやろうとしているみたいですね。 エクセルからワードを起動して印刷をするのを自動化するわけです。 修正もエクセルでおこないます。 エクセルVBAで1500件の印刷一覧シートを作成し、その1件ずつをWord起動し、VBAで印刷を監視しながら1件ずつ印刷をすることで停止など操作をすることが可能になります。 途中で止めるという考えではなく、1件ずつを連続で印刷するという方法で管理する余地ができます。プリンタースプールは常に1件のみになります。 プリンタードライバーに丸投げでは無理だと思います。 印刷一覧を編集可能な状態にすると印刷開始行の指定および、ソートもできるようになります。 ワードよりもエクセル上で文面シートを作った方がいいような気もします。 プリントデータの準備(1件) ワードで差し込み印刷をする  起動プロセスのオープン(状態の取得準備)  差し込みデータの転送  起動プロセスとのシンクロ(待機する)  起動プロセスが実行中か調べる(状態の取得)  終了まで待機&印刷停止チェック  起動プロセスのクローズ(終了) 印刷停止チェック ↑件数ループ ワードに差し込み印刷をするVBA例はこちら https://support.microsoft.com/ja-jp/help/285332/how-to-automate-word-with-visual-basic-to-create-a-mail-merge

すると、全ての回答が全文表示されます。
  • fjnobu
  • ベストアンサー率21% (491/2332)
回答No.3

そんなに多くを印刷するなら、印刷機を使ったほうが良いですね。町のコピーサービスでも、印刷機を置いています。紙代別で1枚5円ぐらいでできます。

すると、全ての回答が全文表示されます。
noname#242220
noname#242220
回答No.2

ワード&エクセルでは無く『ハガキ作成ソフト』を利用した方が宜しいかと。 郵便局のアプリとかね(無料) 印刷命令を送った後はプリンターのツールでの対応と成りますので、 VBAの利用は不可能です。 (プリンタードライバーが対応してない) 裏面のみなら『コピー機能』を使う手も有り 住所面とは別に印刷する必要が有りますから、 実質3000枚分に成りますね。 でもインクジェットで3000枚はインキの残量の方が問題に成りそう。

masumasu_K_F
質問者

補足

kiyomac さん ありがとうございます。教えていただいた箇所を検索しましたが、 私には進む力がありませんでした。 もし 可能ならば少し教えていただけませんか? まず、プログラムのところですが 1>プリントデータの準備(1件) データの準備は (ハガキの宛名部分)は1500件は毎年更新しながら、作成しております。(エクセルで) 2>ワードで差し込み印刷をする これも従来ワードでエクセルデータを差し込み印刷でやっているので、それでよければ、出来ています。 3>起動プロセスのオープン(状態の取得準備) ここからが分りません。「起動プロセス」とはなんですか? 「状態の取得準備」とはなんですか? 4> 差し込みデータの転送 ここになると「エクセルVBA」では何とかなりそうですが、ワード上でのVBAではまだ経験がなく自信がありません。 5>起動プロセスとのシンクロ(待機する) これからは 1~4までが分ってからだと感じています。 6> 起動プロセスが実行中か調べる(状態の取得) 7> 終了まで待機&印刷停止チェック 8> 起動プロセスのクローズ(終了) 9>印刷停止チェック 10>↑件数ループ 以上ですが、kiyomac さんがとんでもないこと と考えた場合は あきらめますので、大丈夫です。 エクセルでもっとやり易いように考えてみますので・・・ ともかく、お願いします。

すると、全ての回答が全文表示されます。
noname#252929
noname#252929
回答No.1

なんにも心配する必要はありません。 プリンターは、プリンター側のスプールバッファがいっぱいになれば、パソコンからの送信にウエイトをかけて、送信を停止させます。 パソコン側は、プリンタからのウエイト解除まで他のことをやって待っているだけの話になります。 なので、印刷を止めてなど、気にする必要は全くありません。 そもそも印刷命令は、 一度パソコン側のスプールバッファに蓄えられてから、プリンタに送られます。 プリンタのバッファは小さいため、パソコンは、プリンタからの要求に合わせて、パソコン側のスプールバッファに内容を送っていきます。 なので、1500まいだろうと1万枚だろうと、パソコン側のHDDに余裕があれば何も問題なく一度に印刷実行かけて何ら問題はありません。

すると、全ての回答が全文表示されます。

関連するQ&A