【PowerShell & WORD】QRコードを差し込み印刷してみる 2/2
前回の投稿では、EXCELで用意したユーザーリストを読み込んで QRコードのイメージを作成するスクリプトを Windows PowerShell で作成しました。
今回は、作成した QRコードのイメージファイルを使用して、WORD 2010 を使用して差し込み印刷をしましょう。
この、イメージ(画像)の差し込み印刷...正直言って苦労しました...いや、わかってしまえば何てことないのでしょうけどね...Office の MVP の方々からすれば "笑止!!" なのでしょうが...。今回は、私のように差し込み印刷に苦労した方向けの解説ですので、できる限り平易に解説します。
前回の投稿で作成した UserList.xlsx ファイルを差し込みリストとして使用し、WORD 2010 に読み込みます。
ちなみに、今回作成してあるEXCELファイルは以下のようなデータが入っています。先頭行はタイトル行になっていることに注意してください。
さっそく始めましょう。
■ WORD で画像の差し込み印刷をする
① EXCEL ファイルを差し込みリストとして指定する
※ わたし、生まれて初めて「差し込み文書」タブをクリックしました...(恥)。
WORD を起動し、[差し込み文書] タブ から[宛先の選択]をクリックし、[既存のリストを使用] を選択します。ファイル選択のダイアログが開いたら、事前に作成してある UserList.xlsx を選択してください。
ワークシートの選択画面では、[先頭行をタイトルとして使用する] にチェックが入っていることを確認してください。
これで読み込みは完了です。
② 文字列を差し込む
差し込み用のデータを読み込むと、以下のようにリボン内の [差し込みフィールド] コマンドが有効になります。クリックして開いてみると、EXCEL のタイトル行が表示されます。
ここで、上のメニューから FirstName をクリックしてみてください。以下のように本文に «FirstName» と表示されるはずです。これ、手で書いちゃダメですので注意してください。かならずメニューから選択してください。
さて、ここからがビックリです。この状態で、 [ALT] + [F9] という、なんとも見慣れない組み合わせのショートカットキーを押します。画面が「フィールドコード」と呼ばれる表示に切り替わり、画面には { MERGEFIELD FirstName } と表示されています。はじめて「フィールドコード」などという言葉を聞いた方、今後は知ったかぶりをしましょう。私もそうします。
もう一度 [ALT] + [F9] を押すと、元の表示に戻ります。
同じように、 «LastName» も挿入し、その後ろに「様」を入れましょう。ついでに、フォントも大きくしてみます。
つづけて、本文も入力しちゃいましょう。ここは普通に入力すればOKです。
URL も単なる文字列ですので、同じように入力できます。繰り返しますが、«blogsite» と «UserName» は手で入力しないでください。かならず、[差し込みフィールドの挿入] から行います。
ひとまずここまで。
③ データの確認をする
ここまで確認したら差込データの動作確認をしてみましょう。
[差し込み文書] の [結果のプレビュー] をクリックしてください。
以下のように、差し込みフィールドの部分に実データが入ってくるはずです。[結果のプレビュー] の横にある数字は、差し込みリストの行番号です。この数字を変えると、データも次々に変わります。
ただしくプレビューできましたか?OKならば、今度は画像を挿入します。
④ 画像を差し込む
画像を差し込むには INCLUDEPICTURE というフィールド名を使用します。INCLUDEPICTURE の引数として画像ファイルのパスを指定することで、画像を差し込むことができます。
もう何をするか想像できますよね。そうです。画像のパスに { MERGEFIELD UserName } を使用すれば、画像の差し込み印刷ができそうです。
さっそくやってみます。
[ALT]+[F9] を押して、画面をフィールドコード表示(っていう表現は正しい??)にしてください(以下のように)。そして、画像を差し込みたい場所にカーソルを移動しておいてください。
この状態で、 [CTRL]+[F9] を押します。CTRL ですよ!!間違えないでください。
すると、以下のように「フィールドの枠」だけが挿入されます。
この枠内に、次にように入力してください。なんか中途半端に見えますが、OKです。
INCLUDEPICTURE “C:\\tmp\\img\\
~\\img\\ の後には、JPEGファイルのファイル名が入るのですが、ここには差し込みフィールド { MERGEFIELD UserName } を挿入しますします。もちろん手で入力してはダメです。かならず ~\\img\\ の後ろにカーソルが点滅している状態で、 [差し込みフィールドの挿入] - [UserName] を選択してください。
INCLUDEPICTURE “C:\\tmp\\img\\{ MERGEFIELD UserName }
さらに、「.jpg”」を追記してファイルのパスを完成させます。
INCLUDEPICTURE “C:\\tmp\\img\\{ MERGEFIELD UserName }.jpg”
仕上げに、以下のように追記します。\d の後ろには半角空白を入れてください。
INCLUDEPICTURE “C:\\tmp\\img\\{ MERGEFIELD UserName }.jpg” \* MERGEFORMAT \d
結果、以下のようになります。
ここで、入力したフィールドコードを反映させるために、 [F9] キーを押してリフレッシュしてください。[F5] じゃないですよ![F9] ですよ!
リフレッシュしたら、 [ALT]+[F9] を押して元の表示に戻します。
今入力した部分が QRコードになりましたか?
もしならない場合は、 [結果のプレビュー] をクリックして、 [F9] キーでリフレッシュしてください。
ここで、行番号を変更してみましょう。
画像が変わらないですよね?
はい、もうおなじみですよね。 [F9] を押してください。画像が書き変わるはずです。
これで差し込みの設定完了です。
⑤ 印刷する
印刷する場合にも注意が必要です。
印刷を開始するには、画面右端の [完了と差し込み] – [文書の印刷] を選択します。
印刷のダイアログが開いたら、忘れずにしなければならないことがあります。プリンタの[オプション]にある [印刷前にリンクされているデータを更新する] をチェックしてください。これを行わないと、画像が更新されず毎回同じQRコードが印刷されてしまいます。
いかがでしょう?
いやー難しいですねぇ、WORD ...。
現場でお客様を担当されている SE さんて、結構こういう質問されるんですよねぇ。でも意外とお客様のほうがよく知っていたり...なんてことがよくあります。
私では1000年たっても Office の MVP にはなれそうにありませんが、これで差し込み印刷は3割くらい把握できたんじゃないかなと思います。