• ベストアンサー

既定のプリンターに設定するマクロ

マクロを設定したのですがうまくいきません。なぜでしょうか。プリンターの名前はプロパティからそのままコピーしたので名前は大丈夫だと思います。 実行時エラー 1004 コントロールが表示されていない、利用できない、またはフォーカスを持てないため、そのコントロールにフォーカスを移すことはできません。 少し時間をおいて開いた時 実行時エラー 1004 ActivePrinterメソッドは失敗しました。 Option Explicit Private Sub Workbook_Open() Application.ActivePrinter = "iR-ADV C3530 III" End Sub

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

  • ベストアンサー
  • Bn4Cm9a
  • ベストアンサー率18% (19/103)
回答No.2

> ポート名の後のコロン ":" が必要です。 https://learn.microsoft.com/ja-jp/office/vba/api/excel.application.activeprinter という情報がある。

terabayahi1988
質問者

お礼

解決しました。ありがとうございます。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

> Application.ActivePrinter = "iR-ADV C3530 III" 最後にポート名が必要です。 通常使うプリンタ(アクティブプリンタ)を取得/設定する【ActivePrinterプロパティ】【ExcelVBA】 https://vba-create.jp/vba-property-activeprinter/ iR-ADV C3530 IIIをWindowsで既定のプリンタにしてから MsgBox Application.ActivePrinter で表示されたポート名「 on Ne01:」みたいなものを含めてすべて表示されますので必要な部分だけを最後に追加してください。 ポート名が分かれば既定のプリンタを元に戻してください。