• ベストアンサー

EXCEL マクロに於ける プリンタ番号検索方法

使用しているデータベースのマクロの中で、 Application.ActivePrinter = "●●●●● on Ne○○○: このような表記があります これらの ● と ○ には、どのような値が入るのでしょう? 多分、●側は登録したプリンター名を記入し、 ○側は登録された割り当ての番号だと思うのですが、 ○側の番号は、どこを見たら分かるのか教えてください よろしくお願いします

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

●はプリンタ名なので,ネットワークプリンタであれば通常は各パソコンで共通です。 ○は各パソコンごとに,そのパソコン固有の番号になります。 問題の回避策は幾つかありますが sub macro1() dim s as string s = application.activeprinter worksheets("シート名").printout activeprinter:="●●●●"  'on以下不要 application.activeprinter = s end sub などのようにするのが一番手っ取り早いと思います。 #何らかの理由でどうしても印刷前に設定を済ませておきたい時は,たとえば下記の過去ログなどご参考に。 http://okwave.jp/qa/q1541934.html

tsucchie
質問者

お礼

分かりやすい説明ありがとうございました 私でも納得できて、スッキリしました!

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

関連するQ&A

  • エクセルのマクロでプリンタを指定したいのですが

    エクセルのマクロで共有のネットワークプリンタを指定しているのですが Application.ActivePrinter = "*********** on Ne**:" Ne**の部分がパソコンを再起動すると変更されてしまうようでうまくいきません。~on Ne**:の記述なしでプリンタを指定する方法はないでしょうか?

  • エクセルマクロ?

    エクセルのマクロでFAXソフトをプリンタドライバとして選んで、FAXした後再び通常のプリンターを 選び印刷するというようにしたのですが、通常のプリンターを他のPC経由で印刷する形をとっており、 その際に、Application.ActivePrinter = "\\パソコンの番号\EPSON on Ne01:"というコードになっているの ですが、この場合のNe01というのは何を表しているのでしょうか? というのは、このNe以下の番号が突然変わりマクロが うまく動かなくなってしまいました。 これは、FAXソフトに起因するのものなのか? それとも、別の理由によるものなのか? 分りづらく申し訳ありませんが、どなたかよろしく お願いします。

  • ネットワークプリンターをマクロで自動設定

    エクセルのマクロでネットワークに設定されているプリンターを 印字したい。 プリンターは複数台あり、今回はドットプリンターに用紙設定 15×5インチでバック側から帳票を入れて印字したいのですが? Application.activeprinter = "Ne03: の ドット2NEC multilmpact 700xx2" と設定するとNe03:の値がやるごとに変化してしまい、 次回やるとエラーになります。 ドット2NEC multilmpact 700xx2はプリンター名です。 マクロの登録で用紙設定等を設定してもマクロに反映していないので 書き方がわかりません よろしくお願いします。

  • エクセルマクロで教えてください。

    エクセルマクロで、プリンター出力で、困ることが多々発生しています。 どなたか対処法がわかりましたら教えてください。 下記のようにマクロを組んで、印刷させることをしていますが、 最後の「Ne01」がなぜかわからないのですが、よく勝手に変わってしまうのです。 S_PRINT = "RICOH imagio Neo 452 RPCS on Ne01:" とか、 Application.ActivePrinter = "EPSON PM-G4500 on Ne03:" とマクロを組んでます。 そのため、エラーとなったときに、マクロを開き、00から順番に02.03.などを入れ替えております。 エラーとならない方法はないでしょうか?

  • プリンタ一覧を取得

    社内で複数のプリンタがあります、"複合機""ドットプリンタ""再生紙用プリンタ"などと名前を各クライアントに統一してつけて設定してあります、エクセルのVBAで特定のシートのみ"ドットプリンタ"で印刷するために strAPtr = Application.ActivePrinter で一旦通常のプリンタをバッファリングしておき Application.ActivePrinter = "ドットプリンタ" として印刷をかけ Application.ActivePrinter = strAPtr で戻すということをしたいのですが このドットプリンタがクライアントPCによって ActivePrinter = "ドットプリンタ on Ne02:"になったり ActivePrinter = "ドットプリンタ on Ne00:"になったりクライアントによっては ActivePrinter = "Ne00:のドットプリンタ"になったりして確定できません、 WinAPIを使ってプリンタの一覧の取得・・・という方法がありそうですがエクセルVBAで出来るのでしょうか、願わくばAPIを使わないで実現したいのですが知恵を貸してください

  • エクセルのマクロでのプリンタ自動切替について

    エクセルのマクロ初心者ですが、ご教示いただければ幸いです。 業務で日々使用する様式をボタン一つで印刷できるよう、マクロを作成中です。 エクセルのファイルは共有ファイルサーバーに保存していて、各端末(例:WS0001、WS0002、WS0003…)から印刷したいと考えています。 各端末の「通常使うプリンタ」はPR0001なのですが、この様式はWS0001のUSBポートに繋がったPR0002から出力する必要があります。 WS0001とWS0002他から見た場合にプリンタのパスが異なるため、現状では ActiveSheet.PrintOut ActivePrinter:="pr0002" ActiveSheet.PrintOut ActivePrinter:="\\Ws0001\pr0002" と2つのマクロを別々のボタンに割り当てていますが、ボタンを押し間違えることがあり、何とか1つのマクロにできないかと考えています。 例えば「"pr0002"が無い場合は"\\Ws0001\pr0002"から出力しなさい」といような記述は可能でしょうか? On Error でできるのかと考え、 On Error GoTo 0 ActiveSheet.PrintOut ActivePrinter:="pr0002" On Error GoTo 0 ActiveSheet.PrintOut ActivePrinter:="\\Ws0001\pr0002" あるいは On Error GoTo 0 ActiveSheet.PrintOut ActivePrinter:="pr0002" ActiveSheet.PrintOut ActivePrinter:="\\Ws0001\pr0002" と記述してみましたが、何故かPR0001とPR0002と2枚出力されて、上手くいきません。 ネットワーク上のプリンタ出力先の記述は、 Application.ActivePrinter = "\\Ws0001\pr0002 on NeXX:" ExecuteExcel4Macro _ "PRINT(1,,,1,,,,,,,,2,"""\\Ws0001\pr0002 on NeXX:"",,TRUE,,FALSE)" と記述した方が確実なようですが、端末によってXXの数字が異なるようで、エラーになることがあります。 何卒よろしくお願いいたします。

  • VBでプリンターを選ぶ

    プリンターが数台あり、用紙によって、プリンターをVBで選ぶことをしていますが、一度OKになったVBが、数日立つとなぜかエラーになってしまいます。プログラムは、オートで作成したのですが下記のようになっております。下記で、[']の命令は、前回はOKであったのですが、本日はエラーになった分です。どなたかどうすればよいか教えてください。 Application.ActivePrinter = _ "\\FMV-DESKPOWER\RICOH imagio Neo 452 RPCS on Ne04:" ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "\\FMV-DESKPOWER\RICOH imagio Neo 452 RPCS on Ne04:", Collate:=True 'Application.ActivePrinter = ' "\\FMV-DESKPOWER\RICOH imagio Neo 452 RPCS on Ne03:" 'ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ ' "\\FMV-DESKPOWER\RICOH imagio Neo 452 RPCS on Ne03:", Collate:=True

  • プリンター設定

    プリンター設定を教えて下さい。 Application.ActivePrinter = "AAA on Ne00:" 毎回 No.00 の部分が変わってしまって 初心者な者で、どのように設定していいのかわかりません。 よろしくお願い致します。

  • EXCEL VBAでプリンタの設定方法について

    EXCEL VBAのプリンタの設定方法について質問があります。 Dim oApp As Object Dim WFM As Strin WFM = "\\Cl111\フォルダ\ファイル\" &Range("C3").Value & ".doc" Set oApp = CreateObject("Word.Application")  ’ワード起動 oApp.Visible = True oApp.Documents.Open WFM  ’文書を開く Application.ActivePrinter = "AAA on Ne00:"  ’プリンタ設定 oApp.activedocument.PrintOut Copies:=1, Background:=False  ’印刷 oApp.Quit SaveChanges:=False  ’ワード終了 Set oApp = Nothing このようなコードで、(1)ワードを開き、(2)プリンタを設定し、(3)印刷をする、という作業をしたいのですが、 Application.ActivePrinter = "AAA on Ne00:" ではプリンタの設定が変わらず、通常使うプリンターで印刷がされてしまいます。 ワードを開いて印刷することで何か特殊なコードが必要なのではないかと思うのですが、調べても該当するものが出てきませんでした。 どうぞよろしくお願いいたします。

  • マクロ どのパソコンでも同じプリンターから印刷

    ネットワークで繋がっている複数台のパソコンでエクセルで作ったフォーマットを同じプリンターで印刷したいのですが、どのようにマクロを組んだらいいのか分かりません 少しだけマクロが分かりますので分かりやすく教えてくれる方いませんか。 プリンタをしてするとNe06などプリンター名のあとに付けるのですが、別のパソコンになると番号を変えなければなりません 同じマクロでどのパソコンでも同じプリンターで印刷をできる方法を教えてください。

専門家に質問してみよう