今までVBAをインストールしなかったくらいガチガチの関数派でした、七面鳥です。
住所録と発注書をまとめた Excelブックで仕事をしているのですが、用紙の関係で
前のエントリで取り上げた LP-S440 と複合機と両方使っています。
ご存知の方もいるかと思いますが、Excelはシート毎に用紙設定を持てる一方で、
プリンタ情報は基本的に標準プリンタを使い、設定でプリンタが変わればExcel終了まで
それを保持するという挙動になっています。
このため、印刷シートにあわせてプリンタを切り替えるということになります。
しかしどのシートでどのプリンタを使うかは決まっているため、シートとプリンタの紐付けが
できないものかと思っていました。
結局のところ、印刷するキーマクロを一度とり、それを元にマクロボタンをシート毎に
設ける格好が手っ取り早かったので、それを紹介します。
端的に言えば
https://twitter.com/7mencho/status/563160615829512192
プリンタ名は、プリンタのプロパティ画面の
この欄内の文字列を”プリンタ名”の""中に入れてやればいいです。
これを仕込んだマクロボタンを設ければ解決となります。
ボタン表示は雑に「【印刷】」などとしておきます。
例
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 件のコメント:
コメントを投稿