Excelで2つシート作成しそれらのシートをVBAで両面印刷したかった。ボタンを配置しクリックして両面印刷したかったが、両面印刷はVBAでは出来ない。
ローカルで自分だけ使用するExcelデータだったら、印刷の設定で両面印刷を指定しておけば良い。印刷設定も保存されるので、VBAで印刷指定する必要はない。
ただ今回私はNASでデータを共有し複数の人でデータを使用する必要があった為、上記の印刷設定ではダメだった。複数の人が同じExcelデータを使用すると印刷設定は解除され初期設定に戻ってしまう…😫
で…私が考えたこと。
- VBAで両面印刷は指定できない
- しかし、プリンタの指定はできる
- ならば、両面印刷のプリンタを設定すれば良いのでは?
との考えに行き着いた🙄
なので今回のExcelデータを使用する(両面印刷をする)必要のあるパソコンには同じプリンタだが、2つ設定をした。1つは標準の設定、もう1つは基本設定を両面印刷に変更した。
その2つ設定する方法だが、プリンタドライバーを2回インストールすると「〇〇〇 コピー」のような名前のプリンタが出来上がるので名前を変更する。私は分かりやすく「〇〇〇 (両面印刷)」とした。この名前はVBAで使用するのできちんと付けておく。
この「〇〇〇 (両面印刷)」と名前を変更したプリンタの基本設定を変更する。
この「〇〇〇 (両面印刷)」の基本設定を「両面印刷」にした。
ここまで準備が出来たらExcelのVBAに移動。下記の1文で両面印刷が出来る。ActiveWorkbook.PrintOut ActivePrinterは、ブック全体を印刷する命令文。=より右側にプリンタの名前を記述するだけで両面印刷が出来るようになる。
ActiveWorkbook.PrintOut ActivePrinter:=”プリンタの名前”
両面印刷をしたいパソコン全てに両面印刷用のプリンタを設定する必要があるが、Excel以外にも両面印刷用プリンタと使える。例えば、両面印刷したいPDFやWordなど他のソフトでも、この両面プリンタを選ぶだけで両面印刷をすることが出来る。結構、他のソフトでも使うことが多く、私自身、重宝している🤗