とりにくを好きな人がVBAを勉強しています。

VBAを中心に、その他日々の生活で感じていることを書いていきます。

【Word】差し込み印刷の機能を使って顔写真付き名簿を作ろう(仕上げ編その2・フィールドの挿入)

おはようございます。こんにちは。こんばんは。

とりにくVBAです。


これまで顔写真付き名簿の作成について、事前準備編と差し込み印刷編を紹介してきました。


toriniku-vba.hatenablog.com


toriniku-vba.hatenablog.com



今回はフィールドの機能を使って写真を挿入していきます。
これで完結します。



さて、これまで前回までで顔写真付き名簿のレイアウトを作成し、Excelで作成した名簿の名前のみの差し込み設定まで終わっています。


ここからIncludePictureフィールドを加えていきます。


「≪名前≫」の前にカーソルを置いて、「挿入」タブのフィールドをクリックします。


f:id:mayo032j:20201011145408p:plain


フィールドダイアログを開いて、「in」とキー入力するとIncludePictureが選択されます。


ファイル名またはURLのところに写真データのパスを入力します。



f:id:mayo032j:20201011150050p:plain



ここで写真データのパスを取得するには、該当のファイルをShiftキーを押しながら右クリックすると「パスのコピー」が出てきますので便利です。


f:id:mayo032j:20201011150257p:plain


しかし、前後にダブルクォーテーションがついていて、このままではエラーになってしまうので忘れずに削除してください。



OKボタンをクリックすると、写真が表示されます。Alt + F9 を押して、フィールドコードを表示してみましょう。


f:id:mayo032j:20201011150526p:plain


入力した写真のパスが埋め込まれているのがわかりますね。


このフィールドコードの中に、さらに差し込みフィールドを挿入するのが、最大のポイントです。


f:id:mayo032j:20201011150734p:plain


事前準備編では、Excelファイルの年組番号の列と、写真の名前を一致させておきました。


そのことがここで活きてきます。


拡張子の手前に「年組番号」フィールドを挿入します。


f:id:mayo032j:20201011150949p:plain


そうするとこのようにかなり複雑な感じになってきますが、あと少しなのでご安心ください。


これを他のラベルにも反映させるために、「複数ラベルに反映」をクリックします。


f:id:mayo032j:20201011151130p:plain


残りのラベルにもコードが反映されたら、Alt + F9 でフィールドコードを非表示にして、結果のプレビューを見てみましょう。


すると、なんと!!!


f:id:mayo032j:20201011151346p:plain


全部同じ写真になってしまいます!!


これで正常ですので、ご心配なさらずに。


「個々のドキュメントの編集」から別ファイルで立ち上げて、



f:id:mayo032j:20201011151534p:plain



Ctrl + A (全選択)をしてから、F9(フィールドの更新)をして、



f:id:mayo032j:20201011151658p:plain



完成です。



f:id:mayo032j:20201011151716p:plain



あとは、不要な部分を取り除いたり、中央揃えをしてレイアウトを整えたり、名前のほかにクラスや部活動の所属なんかを表示したりアレンジすれば完璧です。



お疲れ様でした。



これで全3回にわたる差し込み印刷の機能を使った顔写真付き名簿の作り方を終わります。


最初はもっと簡単に説明できると思ったのですが、なかなか量が多くなってしまい、更新が滞ってしまいました。


楽しみしてくれていた方々にはお待たせして申し訳ございませんでした。