2024年4月7日日曜日

封筒や申請用紙などで簡単に印刷できるように、この設定をWordのマクロで行うというスゴ技 ー 手差し印刷(VBAマクロ)


   
エクセルで作ったデータベースで、宛名書きの封筒を手差し印刷する方法です。
印刷書式に長3封筒などの設定はできるので、シート上でデザインは可能です。

ですが、エクセルから印刷の自動化をすると、手差しトレイの設定は無理なの。
印刷設定で、プリンターのプロパティを呼出す手動のマニュアル操作になるな。

勤務している会社では、就業日には必ず、この封筒印刷があり自動化をしたい。
でも、シート上のボタンを押したら、プリンター設定がマニュアルだなんてね。

やはり、データを読み込んで印刷デザインに従って、一発全自動化で封筒印刷。
しかも、封筒のサイズを考慮して手差し印刷で、実行しなければなりませんな。

こうなると、どんなやり方が良いのか考えて来ましたが、妙案はワードの活用。
印刷データをエクセル側で画像として一度保存しておき、ワードに貼付けます。

実はワードVBAには、印刷実行時に手差し印刷をしてできるモードがあるんだ。
この設定を使わない手はないと思って、異なるメーカのプリンターで印刷実験。

キャノンとゼロックスの複合機で、試してみましたが、両方とも手差しがOKだ。
なので、この手差しトレイの設定するコードを、紹介するので使ってみてくれ。

この他、各種トレイの指定もできるので設定パラメーターも紹介しておきます。
ただ、この設定でどのトレイが動作するのかは、自分で確認する必要はあるな。

ネットを見ると、動作に違いがあると説明している人もいるので注意が必要だ。
ただ、問題があって、封筒を手差しすると普通はおしり(底)を差し込みます。

上部のベロ部は開封口なので、こちらを差し込むとローラーが巻き込みやすい。
だからおしりから差し込みますが、こうなると印刷が反対の位置になりますな。

そうではなくて、このベロ側から郵便番号を読み出したい書き方の人もいます。
この点は、貼付けるイメージの180度回転が必要なんだが、次回を乞うご期待。

というわけで、印刷する時は、エクセル側からワードのマクロを動かすだけだ。
この辺のコードは、前回、紹介した"ワードで画像を貼り付けるマクロ"のコードを参考にしてもらえればよいかと思いますが、文書の細かい印刷設定では、やはり文書作成アプリの方が、優秀なんだと思うのでした。

※マクロの設定コード(Word専用・エクセルでは動きません)
Sub PrtrSttngSample() '手差し印刷を実行する
Dim OriginalFirstPageSetting As Long, OriginalOtherPagesSetting As Long
  With ActiveDocument.PageSetup
    'オリジナルのトレイ選択に戻る前に、一度設定し直しておく
    OriginalFirstPageSetting = .FirstPageTray
    OriginalOtherPagesSetting = .OtherPagesTray
      '手差し印刷の設定に戻る
      .FirstPageTray = wdPrinterManualFeed '手差しの指定
      .OtherPagesTray = wdPrinterManualFeed '手差しの指定
        ActiveDocument.PrintOut' 印刷実行
       '最初のプリンタ設定に戻る
           .FirstPageTray = OriginalFirstPageSetting
           .OtherPagesTray = OriginalOtherPagesSetting
 End With
End Sub

※Wordで必要な参照設定:
  Microsoft Scripting Runtime / Microsoft Office 16.0 Object Library

※WdPaperTray 列挙 (Word)
  名前 説明
  wdPrinterAutomaticSheetFeed 7 自動給紙
  wdPrinterDefaultBin 0 既定のトレイ
  wdPrinterEnvelopeFeed 5 封筒フィーダー
  wdPrinterFormSource 15 帳票
  wdPrinterLargeCapacityBin 11 大容量トレイ
  wdPrinterLargeFormatBin 10 大型用紙トレイ
  wdPrinterLowerBin 2 下段のトレイ
  wdPrinterManualEnvelopeFeed 6 手差しの封筒フィーダー
  wdPrinterManualFeed 4 手差し
  wdPrinterMiddleBin 3 中段のトレイ
  wdPrinterOnlyBin 1 プリンターの唯一のトレイ
  wdPrinterPaperCassette 14 用紙カセット
  wdPrinterSmallFormatBin 9 小型用紙トレイ
  wdPrinterTractorFeed 8 トラクター フィーダー
  wdPrinterUpperBin 1 上段のトレイ



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



0 件のコメント:

コメントを投稿