ExcelVBA 特定プリンターを指定してExcelシートやワークブックを印刷

 

ExcelVBA 特定のプリンターを指定してExcelのシートやワークブックを印刷することができます。これにより、ユーザーが手動でプリンターを選択する手間を省き、スムーズに印刷作業を行えます。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA 特定プリンター指定の利用

以下のようなシーンで利用されます。

1.特定のプリンターに直接出力する
部署ごとに異なるプリンターを使う場合や、大量印刷を効率化したい

2.印刷ジョブを自動化
定期的に決まった内容を印刷するシステムの構築

3.エラー防止
プリンターの選択ミスを防ぎ、作業効率を向上

Excel VBA 特定プリンター指定|使い方とポイント

使い方

1.プリンター名を取得する
Application.ActivePrinter プロパティを使用して現在のプリンターを確認します。

2.プリンターを設定する
Application.ActivePrinter にプリンター名を設定します。

3.印刷を実行する
PrintOut メソッドを使って指定した内容を印刷します。

ポイント

1.プリンター名の正確さ
設定するプリンター名はシステムで認識されている名前でなければなりません。

2.ネットワークプリンター
ネットワーク経由のプリンターの場合、接続が有効であることを確認してください。

3.印刷環境依存
プリンター名がPC環境によって異なる場合があるため、他のPCで動作させる際には確認が必要です。

4.エラーハンドリング
プリンターがオフラインの場合や設定ミスの場合にエラー処理を実装することが重要です。

 

Excel VBA 特定プリンター指定のサンプルコード

現在のプリンター名を取得

Option Explicit

Sub GetCurrentPrinter()
    MsgBox "現在のプリンター: " & Application.ActivePrinter
End Sub

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

特定のプリンターを設定して印刷

Option Explicit

Sub SetPrinterAndPrint()
    Dim targetPrinter As String
    Dim currentPrinter As String

    ' 現在のプリンターを保存
    currentPrinter = Application.ActivePrinter

    ' 設定したいプリンター名
    targetPrinter = "Microsoft Print to PDF on Ne01:"

    ' プリンターを設定
    On Error Resume Next
    Application.ActivePrinter = targetPrinter
    If Err.Number <> 0 Then
        MsgBox "指定したプリンターが見つかりません。"
        Exit Sub
    End If
    On Error GoTo 0

    ' 印刷実行(例: アクティブシートを印刷)
    ActiveSheet.PrintOut

    ' 元のプリンターに戻す
    Application.ActivePrinter = currentPrinter
End Sub

プリンター名を確認するには、Application.ActivePrinter を取得して、正確な名前を調べておくとよいです。ネットワークプリンターでは、プリンター名に接続ポート(例: on Ne02:)が含まれる場合があります。プリンターが見つからない場合にエラーメッセージを表示して処理を中断する仕組みを追加しましょう。

これを使えば、作業の効率化と印刷エラーの削減が可能です。

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問