• ベストアンサー

二台のプリンターに印刷したい

エクセルで伝票を作り、それをVBAで二部印刷するようにしていました。(一部は運転手に、一部は保存用に) 今度、運転手の受け取り場所が変わり、そこのプリンターに出すように言われました。(プリンターナンバー「PR110034」と「PR110066」) まず、こちらのPCから向こうにプリンターで印刷できるか確かめました。(「ファイル」-「印刷」-「プリンター」-「名前(変更)」で)OKです。 そこで早速VBAで作ったのですが、おかしなことにどちらか片方に二部印刷されてしまうのです。(34を先に設定すると34に二部、66を先に設定すると66に二部) 二台のプリンターに一部ずつ印刷するようにするには、マクロでどう書けばよいのでしょうか。 教えてください。

noname#153814
noname#153814

質問者が選んだベストアンサー

  • ベストアンサー
  • fmajin
  • ベストアンサー率61% (75/122)
回答No.2

恐らくプリンタのハンドリングができていないのではないでしょうか。 まず、内部で扱われるプリンタ名を把握する必要があります。 VBエディタで「イミディエイトウィンドウ」を表示し、 ? ActivePrinter と入力してください。すると、「プリンタ名 on ポート名:」のような形式の文字列が得られると思いますので、これがアクティブプリンタのプリンタ名になります。 この後、運転手さんのところのプリンタに切り替えてみて、同様にイミディエイトウィンドウで実行してみると、向こうのプリンタ名も把握できるはずです。 こうしておいて、 Application.ActivePrinter = "xxxxx on Ne01:" ActiveSheet.PrintOut Application.ActivePrinter = "xxxxx on Ne00:" ActiveSheet.PrintOut のように記述すれば、それぞれ1枚ずつ印刷されると思います。プリンタ名は、最後の「:」まで正確に記述してください。イミディエイトウィンドウの結果をコピーするといいでしょうね。 また、アクティブプリンタを変更しますから、最初に向こうのプリンタで印刷してから、手元のプリンタで印刷するという順にしたほうが、アクティブプリンタを戻す手間が省けると思います。

noname#153814
質問者

お礼

返事が遅れてすみませんでした。 出来ました。 事務所で作って、現場のPCで動かしたからいけなかったと思います。 事務所では "PR110034 on No00:" となっていたので、二台とも No00: としてそのまま移植したのです。 現場のPCで見てみたら、 "PR110066 on LPT1:" となっていました。 そこで、"PR110034 on No00:" と "PR110066 on LPT1:" の組み合わせで出来るようになりました。ボード名というんですか。これが違っていたようです。 >最初に向こうのプリンタで印刷してから、 そうです、そうです。おっしゃるとおりでした。ありがとうございました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

そのマクロを掲載していただく方が解決は早いと思いますが、とりあえず「ツール」→「マクロ」→「新しいマクロの記録」を選択し、手動で「PR110034に印刷」→「PR110066に印刷」の操作を行いマクロを記録し、ご自身が作成したマクロと比較したら違いが分かると思いますよ

noname#153814
質問者

お礼

返事が遅れてすみませんでした。 ありがとうございました。おかげで出来ました。

関連するQ&A

  • プリンタが印刷中に途中停止して困っています

    伝票印刷のドットプリンタが印刷中に途中停止してしまいます。 PC本体の電源を落とさないと次は印刷できません。 OSはXPでプリンタはPC-PR700/55Aです。

  • エクセル シートごとに自動でプリンタを使い分けたい

    ひとつのブックに伝票を作成するシートと それを元にする帳簿のシートがあります。 伝票シートは見よう見まねのマクロからプリンタで印刷、 帳簿と他には部品注文用のシートでpcfaxを使っています。 帳簿をfaxするときに印刷のダイヤログでpcfaxを選択しているのですが、 そのあとにマクロのショートカットで 伝票を印刷するとpcfaxのままなので、よく間違います。 その逆、faxしようとするものが印刷されたりするミスもたまに。 プリンタの選択は、プリントする直前に出てくるダイヤログですることしかわかりません。 通常使うプリンタの設定はは普通に印刷するほうになってますが、 シートごとに、はじめからこのシートにはこのプリンタを使うという設定はできないのでしょうか? それが出来ればとても助かります。 それが出来ないのなら、 伝票作成のマクロに別のプリンタ(pcfax) を使うという設定が出来ればと・・・ 勉強不足なもので、また見よう見まねで うまくできればいいのですが。 どうぞよろしくお願いします。

  • エクセルで印刷するプリンタを自動的に変更したい

    ネットワーク接続のプリンタが2台あります。 このうち片方のプリンタは、あるエクセルファイル専用出力にしたいのです。従いまして、当該エクセルファイルを印刷するときにだけ、自動的にそちらのプリンタから出力させるように制御したいのです。マクロか何かでそのような設定はできるのでしょうか。

  • 2台のプリンター 印刷範囲が変わる?

    詳しい方にはくだらない質問かもしれません・・・。 エプソンとパナソニック、2台のプリンターがあります。 エクセルで作った表を印刷するとエプソンではぴったり、パナソニックだとはみ出てしまいます。余白はいっぱいいっぱいで作っている表です。 もちろん縮小すればどちらでも入ります。 でも、同じA4サイズの設定なのに、なぜ片方は入って片方ははみ出てしまうのか、疑問です。 これは仕方のない事ですか?

  • プリンターで印刷しても - が印字されない。

    プリンターで印刷しても、伝票の6行目だけ - が印字しないです。 ちなみに1台のプリンターを2台のPCで共有して、片方では印字され、片方では印字できないです。ソフト発行元に問い合わせたら プリンターの方がおかしいいといいます。そんな事ってあるでしょうか? 使用PCはDELL DIMENSION 2400 OSはXP PRO ソフトはPCA 商魂7 V.2 プリンターは OKI microline 80HU よろしくおねがいします。

  • NECのドットプリンターPC-PR201/45の用紙設定についてご存じ

    NECのドットプリンターPC-PR201/45の用紙設定についてご存じの方おられましたら教えて下さい。 当方、弥生販売を使っておりプリンターはPC-PR201/45と使っています。 PC老朽化に伴い別PCへ移行し残す所は印刷の部分だけでがうまくいきません。 伝票印刷を行うと印刷終了後必要以上に用紙が送られてしまいます。従って2枚以上に渡る伝票はかなり間が空いてまた印刷されます。 旧PCの設定をみたところちゃんとプリンターの設定部分で個別に用紙設定を行った様で(記憶からは飛んでいます・・・。)同じ様に使用している伝票にあった用紙設定を使用にもプリンターの印刷設定の部分に用紙設定できる場所がありません。 ちなみに旧PCのOSはwindows2000で今回導入しているOSはXPとなりますが両方ともプリンターの設定部分に用紙設定の項目がありません。 どなたかご存じの方宜しくお願い致します。

  • 印刷設定について

    プリンター:NEC PR-D700XX PC:Windows10 64bit だいぶ古いプリンターなのですが、伝票の印刷に使っています。 今までwin7で使用していましたが、この度win10に機種を変更したので、 win10で印刷したいと思っています。 プリンタドライバはOS搭載のものが対応しているようなのですが、 win10で設定をしても印刷が出来ない状況です。 どうすれば良いのか(改善できるのか)教えてく頂きたいです。 よろしくお願いします。

  • VBAでプリンタを指定して印刷

    エクセルのマクロにて印刷する場合、プリンタを「通常使うプリンタ」の設定をしていないものに印刷するのは可能なのでしょうか? また、不可であれば何かいい方法はないでしょうか?

  • プリンタドライバ等について

    未だWINDOWS95のPCで伝票処理の為プリンタPC-PR201/63を使用していますが、調子が悪く中古のPC-PR201/65を購入しようと思っていますが、プリンタドライバその他何か設定を変える必要があるのでしょうか?

  • ドットプリンターで送り状印刷

    エクセルVBAにて、用紙設定をしたいのですが、10×4 1/2の用紙を指定する定数がわかりません。 宅急の送り状印刷をマクロで行いたいもので・・・ ご存じの方がいらっしゃったらお教え下さい。 使用しているプリンターはVP-880、エクセルは2010、OSはウインドウズ8.1です。 ※OKWaveより補足:「EPSON社製品」についての質問です。

専門家に質問してみよう