「なでしこジャパン」おめでとう!ありがとう!
興奮がやみませんね。
で、いきなり昨日の印刷設定です(笑)。
「【Word】印刷設定でコストダウン(1)」と「【Word】印刷設定でコストダウン(2) 」の流れで、またまたコストダウンに関するマクロです。
<目次>
開発の背景
ある事業所では、プリンターの印刷を計数して、月間の印刷枚数をプリンターのメンテ会社に報告をしています。「カウンター料金」などと呼ばれる従量料金制度です。
そこで、この事業所のリーダーの方は考えました。
「A4の原稿をA3用紙に2ページ分印刷すれば、印刷枚数が半分になる!」
ちょっとしたコストダウンですね(笑)。印刷枚数が多ければ多いほど差が出てきます。
これ、実際にお話しをうかがった話ですから、このブログ読者の方々にもお役に立つかもしれません。
そんなわけで、今回紹介するマクロは、「A4原稿をA3用紙に2ページ分印刷するマクロ」です。
考え方
「【Word】印刷設定でコストダウン(2)」で紹介したとおり、ドライバーに印刷のレイアウト設定ができるのですが、今回は、ドライバーを操作するのではなく、Wordの機能を使って、「A4原稿をA3用紙に2ページ分印刷」を実現したいと思います。
操作は以下の通りです。
(1)「印刷」ダイアログボックスでA3用紙のあるプリンタードライバを選択して、印刷時の1枚当たりのページ数を設定します。
(2)「ページ設定」ダイアログボックスで、A3用紙が入っている用紙トレイを、1ページ目および2ページ目以降で選択します。
これをマクロで自動化します。
準備
日経パソコンの記事「複雑な印刷設定もワンクリックで 」で紹介したマクロを使って、プリンター名と用紙トレイの番号を取得します。
マクロ
Sub A4原稿をA3用紙に2ページ分印刷() Dim myFirstTray As String Dim myOtherTray As String Dim myPrinter As String With ActiveDocument.PageSetup myFirstTray = .FirstPageTray myOtherTray = .OtherPagesTray myPrinter = ActivePrinter ActivePrinter = "プリンター名" .FirstPageTray = トレイ番号 .OtherPagesTray = トレイ番号 ActiveDocument.PrintOut PrintZoomColumn:=2, PrintZoomRow:=1 ActivePrinter = myPrinter .FirstPageTray = myFirstTray .OtherPagesTray = myOtherTray End With End Sub