A4原稿をA3用紙に2ページ分印刷するマクロ | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

「なでしこジャパン」おめでとう!ありがとう!

興奮がやみませんね。

で、いきなり昨日の印刷設定です(笑)。

Wordの印刷設定でコストダウン(1) 」と「Wordの印刷設定でコストダウン(2) 」の流れで、またまたコストダウンに関するマクロです。


▼開発の背景
ある事業所では、プリンターの印刷を計数して、月間の印刷枚数をプリンターのメンテ会社に報告をしています。「カウンター料金」などと呼ばれる従量料金制度です。

そこで、この事業所のリーダーの方は考えました。

「A4の原稿をA3用紙に2ページ分印刷すれば、印刷枚数が半分になる!」

ちょっとしたコストダウンですね(笑)。印刷枚数が多ければ多いほど差が出てきます。

これ、実際にお話しをうかがった話ですから、このブログ読者の方々にもお役に立つかもしれません。

そんなわけで、今回紹介するマクロは、「A4原稿をA3用紙に2ページ分印刷するマクロ」です。


▼考え方
Wordの印刷設定でコストダウン(2) で紹介したとおり、ドライバーに印刷のレイアウト設定ができるのですが、今回は、ドライバーを操作するのではなく、Wordの機能を使って、「A4原稿をA3用紙に2ページ分印刷」を実現したいと思います。

操作は以下の通りです。

(1)「印刷」ダイアログボックスでA3用紙のあるプリンタードライバを選択して、印刷時の1枚当たりのページ数を設定します。

みんなのワードマクロ
(Word 2003の例 2ページを選択)

みんなのワードマクロ
(Word 2010の例。2ページ/枚を選択)


(2)「ページ設定」ダイアログボックスで、A3用紙が入っている用紙トレイを、1ページ目および2ページ目以降で選択します。

みんなのワードマクロ
(手差しにA3用紙がある場合)


これをマクロで自動化します。


▼準備
日経パソコンの記事「複雑な印刷設定もワンクリックで 」で紹介したマクロを使って、プリンター名と用紙トレイの番号を取得します。


▼マクロ
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


▼関連記事
日経パソコンの連載記事の解説


日経パソコン 連載第4回目 「複雑な印刷設定もワンクリックで」