Wordで文書を印刷する際、通常のプリンター以外を一時的に指定したい場面がありますよね。例えば、FAX送信や特定のプリンターでの印刷などです。そんな時に便利なのが、Word VBAを使ったマクロです。今回は、初心者の方でもわかりやすく、実際のコードとともに解説します。
Word VBAでプリンターを指定する基本の流れ
まず、Word VBAを使ってプリンターを指定する基本的な流れを見てみましょう。
現在のプリンターを保存する
vba
Dim originalPrinter As String
originalPrinter = Application.ActivePrinter
このコードで、現在設定されているプリンターの名前を変数`originalPrinter`に保存します。
使用したいプリンターを指定する
vba
Application.ActivePrinter = "使用したいプリンターの名前"
ここで、`”使用したいプリンターの名前”`の部分を、実際に使用したいプリンターの名前に置き換えてください。
印刷を実行する
vba
ActiveDocument.PrintOut
このコードで、現在アクティブな文書を印刷します。
元のプリンターに戻す
vba
Application.ActivePrinter = originalPrinter
印刷が終わったら、元のプリンター設定に戻すことを忘れないようにしましょう。
実際のマクロ例FAX送信用の印刷マクロ
実際にFAX送信用の印刷マクロを作成してみましょう。
vba
Sub FAX送信()
Dim originalPrinter As String
originalPrinter = Application.ActivePrinter
Application.ActivePrinter = "FAXプリンター名"
ActiveDocument.PrintOut
Application.ActivePrinter = originalPrinter
End Sub
このマクロを実行すると、指定したFAX用プリンターで文書が印刷され、印刷後は元のプリンター設定に戻ります。
よくある質問や疑問
Q1: プリンターの名前はどこで確認できますか?
プリンターの名前は、Wordの「印刷」ダイアログで確認できます。そこに表示されているプリンターの名前を、VBAコード内で使用してください。
Q2: 複数のプリンターを順番に指定して印刷することはできますか?
はい、可能です。プリンターを切り替える際に、上記の方法で`ActivePrinter`を変更し、印刷後に元のプリンターに戻すことで、複数のプリンターで順番に印刷することができます。
Q3: 印刷設定を変更せずに、特定のページだけを印刷することはできますか?
はい、`PrintOut`メソッドの引数を使用して、特定のページ範囲を指定することができます。例えば、`ActiveDocument.PrintOut From:=1, To:=1`とすることで、1ページ目だけを印刷できます。
まとめ
Word VBAを使うことで、普段使っているプリンターを変更せずに、特定のプリンターで印刷することができます。特に、FAX送信や特定のプリンターでの印刷が必要な場合に便利です。最初は少し難しく感じるかもしれませんが、実際にコードを書いて試してみることで、徐々に慣れていくことができます。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。



コメント