「毎回同じExcelファイルを印刷するのに、いちいち設定するのが面倒…」
そんな経験、ありませんか? 多くの方が、Excelの印刷作業に時間を取られています。特に複数のプリンターを使い分ける環境では、印刷設定の変更が大きな手間になっています。
しかし、実はExcelには「マクロ」という強力な機能があり、これを使えば印刷作業を大幅に効率化できます。
今回は、ボタン一つでプリンターを指定し、印刷設定を自動で変更する方法をご紹介します。この方法を使えば、毎回の面倒な設定作業から解放されます。
印刷設定済みシートの印刷
すでにページ内で印刷設定をしてあり、ただ印刷ボタンを押すだけの状態になっている場合はこちらのコードを入力するだけで印刷をすることができます。
Sub 印刷()
ActiveSheet.PrintOut
End Sub
このマクロを実行すると、実行したときのシートをそのまま印刷することができます。
プリンターを指定して印刷
今回出力するデータが普段使っているプリンターと違うプリンターを指定したい場合、都度印刷設定を切り替えて出力し、その後また元のプリンターに設定しなおす必要があります。
これらの操作をマクロで自動的にしてしまえば、ボタン一つでプリンター切り替えのことなど考えず作業をすることができます。
変更先プリンター名を確認する
まず事前準備として変更先のプリンター名を確認します。変更したいプリンターに印刷設定を変更してから下のコマンドを実行してください。
Sub プリンター名確認()
Debug.Print ActivePrinter
End Sub
するとイミディエイトウインドウに対象のプリンターのプリンター名が表示されます。
※イミディエイトウインドウの使い方はこちらを参照してください。イミディエイトウィンドウの表示方法 Excel(エクセル)マクロ(VBA)
ここに表示された「RICOH SP 3700 PS on Ne01:」のうち赤字の「RICOH SP 3700 PS」がプリンター名です。
「on Ne01:」の部分はポート名ですので無視してOKです。
プリンター変更コードを記載する
Sub 印刷()
Dim Printer1 As String
Printer1 = Application.ActivePrinter 'プリンター設定を記憶しておく
ActiveSheet.PrintOut _
Copies:=1, _
ActivePrinter:="RICOH SP 3700 PS", _
Collate:=True
Application.ActivePrinter = Printer1 'プリンター設定を初期値に戻す
Debug.Print ActivePrinter
End Sub
上のコードの赤字部分に先ほどの「RICOH SP 3700 PS」を入れてください。
これでこのマクロを実行したときのみ「RICOH SP 3700 PS」から出力させることができるようになりました。
\エクセルを勉強するならこれ!/
コメント