2015年11月18日水曜日

Excel2010 で複数プリンタをマクロとボタンで使い分けてみる

マクロって1行ぐらいで済めば意外と簡単なんですね。

今までVBAをインストールしなかったくらいガチガチの関数派でした、七面鳥です。


住所録と発注書をまとめた Excelブックで仕事をしているのですが、用紙の関係で
前のエントリで取り上げた LP-S440 と複合機と両方使っています。

ご存知の方もいるかと思いますが、Excelはシート毎に用紙設定を持てる一方で、
プリンタ情報は基本的に標準プリンタを使い、設定でプリンタが変わればExcel終了まで
それを保持するという挙動になっています。

このため、印刷シートにあわせてプリンタを切り替えるということになります。

しかしどのシートでどのプリンタを使うかは決まっているため、シートとプリンタの紐付けが
できないものかと思っていました。

結局のところ、印刷するキーマクロを一度とり、それを元にマクロボタンをシート毎に
設ける格好が手っ取り早かったので、それを紹介します。

端的に言えば
https://twitter.com/7mencho/status/563160615829512192

https://twitter.com/7mencho/status/563160923645296641

プリンタ名は、プリンタのプロパティ画面の


この欄内の文字列を”プリンタ名”の""中に入れてやればいいです。


これを仕込んだマクロボタンを設ければ解決となります。
ボタン表示は雑に「【印刷】」などとしておきます。


ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, ActivePrinter:="RICOH MP C3503 JPN RPCS V2", Collate:=True, IgnorePrintAreas:=False

1枚のシートに複数の雛形があって、ページによって使い分けてる場合は
 From:= や To:= の数字をそれぞれ「1」「2」に設定することにより
容易に印刷し分けることができます。

正副(控)など2枚必要なら、正副それぞれのページを作り、From:=を1、To:=を2などに
設定すれば自動で正副ページのみを印刷できます。

また、常に3部必要などの場合は Copies:=を3などに設定すれば、常に必要部数を印刷できます。


なお、ファイルの保存形式は「Excel マクロ有効ブック(*.xlsm)」になりますので、ご注意下さい。

使い慣れると手放せないボタンですので、複数台の切り替えにかぎらず、印刷にお困りでしたら便利かと思います。

こちらからは以上です。

0 件のコメント:

コメントを投稿