執筆:EugeneAmnis
宛名カードを抜き差し印刷でつくる。
ある名簿を元に資料を送る業務を担当した際、皆さんはどのように封筒に宛名を印字しますか?手書きを除いて多くの場合、3つの選択肢があると思います。
- 印刷会社やネットのプリントサービスに頼む。
- 封筒に直接、抜き差し印刷を行う。
- 宛名カードを印刷して貼り付ける。
1は品質も担保されて手間も一番かかりませんが、コストが一番かかるのが難点です。2は実際に封筒への印刷をしたことがある人であればわかると思いますが、印刷ズレなどの調整に手間がかかり、それなりのノウハウがないとできないような作業です。(最近の複合機であれば大丈夫かもしれませんが)
現実的には3の宛名カードを印刷して封筒に貼り付ける作業をしているのが結構数あるのではないかと思っています。(ダブルチェックを兼ねて)
今回はその宛名カードをFormeStudioの抜き差し印刷機能を使って簡単に実現してみましょう。
Excelの印刷キュー管理
大雑把に説明すると印刷キューとはプリンタに対しての印刷命令だと解釈してください。印刷キューをキメ細やかに制御すると複数の書類をA4一枚に収めたり、共用プリンタで他の印刷物と混ざらないようにすることができます。しかし、ExcelのVBAにもそのような制御ができるような機能はついていません。
印刷時にその都度調整をすることは可能ですが、抜き差し印刷には不向きです。特に今回のような宛名カードという小さな印刷物ではA4用紙に詰められるだけ詰めるのが美徳というものでしょうが、機能がない以上は印刷レイアウトを宛名カードを詰めたデザインにする必要があります。また共用プリンタでは割り込みされた場合を考えて、識別用に識別IDを振るようにしましょう。
使用するFormeStudioのバージョンについて
今回の宛名カード印刷ではFormeStudio.xlm ver2.6283以降の機能を使います。古いバージョンの方はインストールして下さい。
宛名カードの抜き差し印刷
ではここからは具体的な方法を説明していきましょう。
まず、今回使用する個人情報データはテストデータとして過去に個人情報テストデータ生成ツール様で作成し、ダウンロードしたものです。もちろん、テストデータなので実在する個人情報は入っていません。レコード数は2000です。FormeStudioのCSVシート追加で取り込んだものです。
このテーブルから郵便番号、住所、名前を取り出して宛名カードに印刷します。今回このシート名は原本とします。
印刷シートについては複数印刷用にデザインし、印刷範囲も設定したものを準備します。今回はA4一枚に10枚の宛名カードを設置したものを利用します。このシートの名前を宛名カードにします。
印刷キュー割り込み対策の識別IDは印刷レイアウトの宛名カードに被らない部分に入力する形を取りましょう。本来であれば印刷設定のヘッダーやフッターに入力設定するのがスマートですが、Excelは様々な技量の人が触ることが予想されるのでシートを見れば分かるようにしていた方が運用上では楽になります。逆に識別IDを触ってほしくない場合はヘッダーやフッターに入力しましょう。
次にFormeStudio抜き差し印刷ですが、宛名カードは10枚あるにも関わらず、FormeStudio抜き差し印刷はレコードを1つしか参照できないのでバイパス用のテーブルを作成します。
具体的には原本シート上のテーブルの10レコードを1レコードにまとめた宛名カード用のテーブルを作成し、そのテーブルを参照させるようにするのです。
FormeStudio抜き差し印刷には非表示行を印刷しない仕様になっており、元のテーブルのフィルター機能を使うことで必要なデータのみを印刷できるようにしています。ただし、先ほどにも記したように一度に1レコードしか参照できないので、別の機能を使ってバイバス用テーブルにデータを入力する必要があります。
Excelには構造参照やINDEX関数など別の表のデータを表示するための方法がいくらかありますが、フィルター機能で検索した結果(非表示レコードは参照しない)まで想定しているものはないのが実情です。フィルター関数を使うことで実現できますが少し面倒です。
そこでFormeStudio.xlsm ver2.683から追加されたテーブル行集約転記実行機能を使って、バイパステーブルに必要データを埋めていきましょう。
まず、FormeStudio.xlmのForme2タブ内のCSVデータベースシートを追加をクリックし、BLANKを選択してblankシートを追加します。
次に以下のようにテーブルヘッダーを編集していきます。
テーブルヘッダーの1番目(Noと入力)されているセルに参照元になるテーブルがあるシート名(今回は原本)を入力します。そして必要な項目を入力していきます。今回は郵便番号、住所、氏名をまず入力します。次に入力したヘッダー項目を複数選択して必要数までオートフィルをします。テーブルを拡張した後にシート名を任意のものに(今回は宛名データ)に変更します。この状態でFormeStudio.xlmのForme2タブ内のインサートツールをクリックし、テーブル行集約転記実行を選択してダイアログに従いながらデータを追加します。
処理が完了したら、確実に入力されている列のフィルター機能で空白セルを非表示にします。
この作業をしないと空白レコードまで抜き差し印刷が実行されてしまします。尚、テーブル行集約転記実行を実行する度に行う必要があります。次に抜き差し印刷追加機能を追加します。
宛名データシートをアクティブにした状態でFormeStudio.xlmのForme2タブ内のインサートツールをクリックし、印刷メニュー追加を選択するとダイアログが表示されるのでそれに従います。
印刷シートである宛名カードの印刷範囲外のセルを選択して、印刷メニューを追加します。
見やすいように印刷メニューを調整後に、印刷レイアウトの該当表示箇所のセルに=参照レコードセルを入力していきます。
先頭データ、戻る、進む、後尾データをクリックして、データが問題無く参照されているか確認します。問題がなければ、先頭データに戻してから抜き差し印刷をクリックすると抜き差し印刷が開始されます。中断する場合はWindows版ではESCを押します。Mac版ではマクロ中断キーがないのでこちらの記事を参考にしてください。
結果と注意点
宛名カードの抜き差し印刷に成功しました。次回からは元データを変更すれば、自由に使用可能です。PDFで確認したい方はこちらから見れます。
あと注意点としてパソコンのスペックにもよりますが、大きな顧客データなどを取り込むと以下のようなダイアログが表示される場合があります。その場合ははいを選択すると修復モードでファイルを開けます。一度この状態になると、再度同じ警告が表示されるようになるのでお手数ですがデータ量を下げた状態で作り直してください。
印刷シートの入手方法
今回のような抜き差し印刷の場面で一番厄介なのはなんだかんだ言って、印刷シートのデザインです。原則的にExcelは印刷を主体に開発されている訳ではないので、印刷プレビューを睨みながら試行錯誤するのが通常の手段となっています。
せめて叩き台になるようなテンプレートでもあれば、作業時間の短縮に繋がります。そこでお薦めしたいのがbizoceanです。

登録されている3.2万点のテンプレートの内、9割に当たる2.9万点が無料書式テンプレートとなっており、イメージに少し沿わない書式テンプレートがあった場合、その作成者の方に要望を届けることのできるシステムがあるため、あなたの要望通りの書式テンプレートが出来上がる可能性があります。
また、士業が作成した専門性の高い契約書などの書式テンプレートも数多くあり、コスト最適化の重要な手段と成り得ます。また記事やコラム、ビジネス資料集、セミナー情報など事業運営に必要な情報がたくさん掲載・配布されているサイト様です。
実際にその実力を示すかのように登録会員数は約366万人、累計ダウンロード数は2000万回超えという非常に有力で信頼あるサイト様であることに間違いありません。会員登録をするだけで無料で書式テンプレートを何度もダウンロード可能になるだけでなく、著作権などの問題をクリアしているリスクの少ない書式テンプレートなどビジネス資源にアクセスできるのは大きな魅力になると思います。ぜひ、一度覗いてみてください。

新しく実装したテーブル行集約転記実行機能は名前こそ分かりづらいものになってしまいましたが、使っていただくと強力であることがわかってもらえると思います。また、地味に印刷処理も高速化していますので、皆さんの業務にお役に立てるようにこれからもFormeStudio.xlsmのブラッシュアップを続けていきます。
Contact and Tags
excel Excel for Mac データ入力 操作 FormeStudio QC KAIZEN