エクセルで作ったデータベースで、宛名書きの封筒を手差し印刷する方法です。
印刷書式に長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 件のコメント:
コメントを投稿