エクセルマクロでFAXソフトをプリンタドライバとして選び、通常のプリンターを選び印刷する方法とは?

このQ&Aのポイント
  • エクセルのマクロでFAXソフトをプリンタドライバとして選び、FAXした後再び通常のプリンターを選び印刷する方法について教えてください。
  • 通常のプリンターを他のPC経由で印刷する形をとっている際に、Application.ActivePrinter = "\パソコンの番号\EPSON on Ne01:"というコードがあります。この場合のNe01とは何を表すのでしょうか?
  • マクロがうまく動かなくなった原因は、FAXソフトに起因するのか、それとも別の理由によるのか調査してください。
回答を見る
  • ベストアンサー

エクセルマクロ?

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

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

  • ベストアンサー
  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

多分、自PC側のポート名(自動作成された)だと思います。 共有プリンタとしてプリンタの一覧(スタートメニュー-設定-プリンタ)に表示されるようにして、ローカルのプリンタのように見せかけたほうが名前が変わらなくていいような気がしますが。

fisherman2
質問者

お礼

他の人からも同じことを言われました。 その方法にしてみようと思います。

関連するQ&A

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

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

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

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

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

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

  • エクセルマクロ

    エクセルのマクロでプリンタのドライバーをFAXソフトに切り替えて、印刷(FAX)し、その後また通常のプリンターに切り替えて印刷することを中心としたマクロを動かすと、エクセルが強制終了の 状態になることがあります。 必ずなるわけではなくて、何事も無く終了できることもあります、ウィルススキャンのソフトを常駐させておくとマクロの動作が不安定になるとも聞いたのですが、そのようなことはあるのでしょうか? それとも他になにか原因があるのでしょうか・

  • プリンタ一覧を取得

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

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

    ネットワークプリンター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

  • Execl VBA UserForm1の印刷先

    Execl VBA UserForm1の印刷先を変更したいのですが Execl VBAで困っています。 UserFormの印刷を条件を変えてプリンター1とプリンター2に振り分けたいのですが ネットを検索してもいい方法が見つかりません。 UserFormはOSのプリンターを参照するため思うように印刷できません。 一度下記を試しましたが、試通常使うプリンターでしか印刷出来ません UserFormのプリンター切替方法のご伝授宜しくお願い致します。 =========================================== Sub チェンジプリンター() Dim myPrinter As String myPrinter = Application.ActivePrinter '現在のプリンターを記憶 If Worksheets("DeviceRead-Write").Cells(6, 11).Value = 2 Then 'I6が2ならEPSON_2プリンターに印刷する Application.ActivePrinter = "EPSON_2 on Ne02:" 'プリンターを切り替える Range("A4").Value = Application.ActivePrinter 'プリンターの確認 UserForm1.PrintForm 'フォームの印刷 Application.ActivePrinter = myPrinter 'プリンターを元に戻す Range("A2").Value = Application.ActivePrinter 'プリンターの確認 End If If Worksheets("DeviceRead-Write").Cells(6, 11).Value = 1 Then 'I6が2ならEPSON_1プリンターに印刷する Range("D2").Value = Application.ActivePrinter 'プリンターの確認 UserForm1.PrintForm 'フォームの印刷 End If 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

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

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

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

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

専門家に質問してみよう