エクセルマクロでプリンター出力の困りごとに対処法はあるか

このQ&Aのポイント
  • エクセルマクロでプリンター出力で困ることが多々発生しています。Ne01やNe03などのプリンター名が勝手に変わるため、エラーが発生します。
  • マクロを開いてプリンター名を入れ替える方法を使っていますが、エラーとならない方法があるか教えてください。
  • エクセルマクロを使用している際にプリンター名が自動的に変化する問題があります。エラーを回避するため、対処法をご教示ください。
回答を見る
  • ベストアンサー

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

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

  • npsw
  • お礼率33% (35/103)

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

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

application.activeprinterを触らず S_PRINT = "RICOH imagio Neo 452 RPCS" activesheet.printout copies:=1, activeprinter:=S_PRINT のようにしてみてください。 >最後の「Ne01」がなぜかわからないのですが、よく勝手に変わってしまうのです。 違うパソコンからだと,その番号が変わります。

npsw
質問者

お礼

ありがとうございました。 本当に助かりました。 なんとお礼を言って良いかわからないくらい助かります。

関連するQ&A

  • 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

  • エクセルマクロ?

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

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

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

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

    エクセルのマクロ初心者ですが、ご教示いただければ幸いです。 業務で日々使用する様式をボタン一つで印刷できるよう、マクロを作成中です。 エクセルのファイルは共有ファイルサーバーに保存していて、各端末(例: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の数字が異なるようで、エラーになることがあります。 何卒よろしくお願いいたします。

  • Linux Mint からの複合機

    Linux Mint からの複合機  Linux Mint 21.2 Xfce 64bit  のOSから、  RICOH IMAGIO NEO 135 RPDLドライバー付き、  という複合機  を使用しています。  RICOH IMAGIO NEO 135 RPDLドライバー付き、  の特徴は、  Linux Mint 21.2 Xfce 64bit  が、使えることです。  しかし、今の  RICOH の複合機は、  Linux Mint 21.2 Xfce 64bit  から、印字ができません。   RPDLドライバー付き、   でないことが、原因です。現在は、RPCSドライバーを使用しています。  Linux Mint 21.2 Xfce 64bitで、使える  RICOH の複合機の機種は、どのようなものでしょうか?  RICOH IMAGIO NEO 135  の複合機が、古く、同等の機種が、手に入らなくなっているのです。  RICOH IMAGIO NEO 135の機械は、故障がちで、感光体ドラムが、入りにくくて困っています。  RPDLドライバー  は、汎用的なドライバーに対して、RPCSは、リコーに限定したドライバーで、  Linux Mint 21.2 Xfce 64bit  からは、使えません。  中古で良いので、使用できるのを購入したい。  大量に資料を印字するときに、レーザープリンターの複合機は、必要です。  キャノンや、エプソンのインクジェットでは、大量の印刷に向きません。  たとえ一つだけでも、お知りのことがありましたら、ご教授よろしく お願いします。  敬具

  • なんども出ていましたが、カラーマネージメント?について

    色々調べてみたんですが、やはり私には何をしていいのか理解できませんでした。できればどなたかアドバイスして下さい。  使用環境はeMac、Photoshop7.0、Illustrator10、RICOH imagio Neo C320、EPSON PM-4000PXです。Photpshopで加工した画像をIllustratorで編集してimagio Neo C320で出力してアクセサリーのカタログを製作する、というのが一連の流れです。小さな小さな会社なんです。  なにぶん初心者なもので、というか職場で初心者の私が上級者という状況なんです。他の誰も分かりません。  ここで質問したのは、もちろんモニタの色と、出力した色が合わないからです。RGBとCMYKの違いくらいは分かりますので、ある程度は仕方ないと分かるのですが、それでは納得のいかないことなので、とりあえずRICOHさんに問い合わせたのですが素人を手なずけるようにあしらわれてしまいました。  それで自分なりに考えたのですが、 1、モニタの調整をしなければいけないのかな? 2、使用している2つのアプリケーションも調整する? 3、当然、2つのプリンタに関しても、なにか調整しなければ?  この3つを順番にやろうと思ったんです。webや資料をみて、あれこれさわってやってみたのですが、こうなにか根拠が無いというか、当然結果は、色がおかしい?素人がさわったので前の方が良かった気がするけど…。こんな有り様です。足りない所は何度でも補足しますので、どなたかお助けください。よろしくお願いします。

    • ベストアンサー
    • Mac
  • EXCEL マクロに於ける プリンタ番号検索方法

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

  • コピー機について

    知っている方、教えてください。 リコーの複合機「RICOH imagio Neo C355 RPCS」で、 どうやったらスキャナー機能で自分のネットワーク内の フォルダにスキャナー画像が取り込めるのでしょうか。 ぜんぜん、わからないので、 知っている方教えてください。

  • エクセル マクロ ファイルの再起動

    ネットワークプリンター2台にワークシートを出力するコードで悩んでいます。 下記のコードを繰り返すと110枚前後でリソース不足が発生することが分かりました。 保存しないで終了し再度開くとリセットされることも分かりました。 保存しないで終了は出来るのですが、同じファイルを再度開くことはマクロで出来ますか? 宜しくお願い致します。 =================================== '全ての Book を保存しないで閉じる '最後に Excel も終了する Sub excel_Quit() Dim w As Workbook '全ての Book を保存したことにする (保存はしない) For Each w In Workbooks w.Saved = True Next 'Excel を終了する Application.Quit 'Book を閉じる ThisWorkbook.Close False End Sub ============================== Sub チェンジプリンター() '印刷切り替え処理 If Worksheets("DeviceRead-Write").Cells(6, 13).Value = 1 Then 'I6 が1ならEPSON_Aに印刷する(D10000上位2ビットが1) プリンターA出力 ElseIf Worksheets("DeviceRead-Write").Cells(6, 13).Value = 2 Then 'I6 が1ならEPSON_Bに印刷する(D10000上位2ビットが2) プリンターB出力 Else DoEvents End If End Sub Sub プリンターA出力(): 'プリンターAに印刷 Application.ActivePrinter = "EPSON_A on Ne01:" 'プリンターAを指定 Worksheets("form").PrintOut 'シートFormの印刷 Exit Sub End Sub Sub プリンターB出力(): 'プリンターBに印刷 Application.ActivePrinter = "EPSON_B on Ne00:" 'プリンターBを指定 Worksheets("form").PrintOut 'シートFormの印刷 Exit Sub End Sub

  • マクロでネットワーク経由の印刷をしたいのですが

    Excel2002を使用しています。2人の人間が各々のPCから 指定のプリンター(通常使うプリンターではない)で 印刷出来るようにしたいのですが、うまくいきません。 プリンターが接続されている「山田太郎」は印刷出来るのですが、 ネットワークを介している「田中花子」は、通常使うプリンターから 出力されてしまいます。 何が原因なのか、ご教授願います。 Sub 印刷確認() タイトル = "印刷確認" メッセージ = "今日の日付で印刷してよろしいですか?" スタイル = vbYesNo + vbQuestion + vbDefaultButton1 + vbApplicationModal yesno = MsgBox(メッセージ, スタイル, タイトル) If yesno = vbYes Then ユーザー名 = Application.UserName Select Case ユーザー名 Case "山田太郎" プリンター = "EPSON PM-840C on Ne03:" Case "田中花子" プリンター = "\\yamada\EPSON PM-840C on Ne0:5" End Select   Application.ActivePrinter = プリンター   ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _   プリンター, Collate:=True ThisWorkbook.Worksheets("住所録").Select Range("A3:A10000").ClearContents End If    Range("G14,I14").ClearContents Exit Sub End Sub

専門家に質問してみよう