ボタン一つで、プリンターを切り替えて印刷したり、印刷設定を変更することができます。今夏はその方法をご紹介いたします。
印刷設定済みシートの印刷
すでにページ内で印刷設定をしてあり、ただ印刷ボタンを押すだけの状態になっている場合はこちらのコードを入力するだけで印刷をすることができます。
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」から出力させることができるようななりました。
プログラミングも資格対策も通わず学べるオンライン教室【ハロー!パソコン教室】
コメント