FileMaker で年賀状
ここ数年は InDesign のデータ結合を利用して年賀状の宛名面を作っている。
InDesign で年賀状【2018年年賀状版】 – with a Christian Wife
https://wacw.cf/2017/12/15/nengajo-with-indesign-2018/
InDesign で年賀状【2018年年賀状版】2 – with a Christian Wife
https://wacw.cf/2017/12/21/nengajo-with-indesign-2018-2/
確かに InDesign で作る年賀状はきれいに印刷できるし、細かいレイアウト調整もしやすい。
しかし、住所録管理自体は Excel(あるいは FileMaker)でやるので、アプリケーション間の橋渡しがゴチャゴチャしてしまう。まあ 40 枚程度しか印刷しないので、特に大混乱が起こるわけではないんだけど(しかも自分の年賀状ではなくワイフの年賀状を作っているだけだ)、住所録管理から印刷まで一つのアプリケーションで完結したい。そして、そもそも年賀状自体私は前時代的なものだと思っているので、余計なストレスはなくしたいので、効率化したい。
というわけで、FileMaker で年賀状を作ることにした。InDesign と比べて、レイアウトやデザインの美しさでは多少は妥協が必要だ。
ウェブで FileMaker による年賀状作りについて検索してもあまり情報が出てこないのは、プリンターによって設定が変わったりするからかな。そのままカスタム App を公開してもあまり意味がなさそうなので、FileMaker による年賀状作りで参考になりそうな情報をメモしておくことにする。
・郵便番号を1文字ずつ取り出すには Middle 関数を使う。
ファイルメーカー住所録(その2 年賀はがき印刷) | FKMコンサルティング(FKMConsulting)
https://fkmconsulting.jp/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%A1%E3%83%BC%E3%82%AB%E3%83%BC%E4%BD%8F%E6%89%80%E9%8C%B2%EF%BC%88%E3%81%9D%E3%81%AE2-%E5%B9%B4%E8%B3%80%E3%81%AF%E3%81%8C%E3%81%8D%E5%8D%B0%E5%88%B7%EF%BC%89
・住所の縦書き化
【FileMaker】縦書きハイフンと英数字はこう処理する – Qiita
https://qiita.com/tyuma/items/37bc3f6218cdd7fe089f
・私は住所を縦書き印刷する際、ハイフンではなく「の」にしている。そのほうが読みやすいから。「1-2-3」ではなく「1の2の3」。
・縦書きにしても長音(ー)が縦書きにならないフォントがある。その場合は別のフォントを利用する。
横書きの長音記号「ー」が縦書きフィールドで縦にならず「ー」のまま | FileMaker Community
https://community.filemaker.com/thread/146751
・FileMaker Go では縦書き表示は非対応。
・元データが名字と名前を半角スペースで区切った状態だった(「木手 英一」のような感じ)。ここから名前だけ一括抽出するスクリプトは以下。
1Loop
2Set Field [ 名前のみ抽出フィールド ]
3Right ( 元データフィールド ; Length ( 元データフィールド) - Position ( 元データフィールド ) ; " " ; 1 ; 1 ) )
4Go to Record/Request/Page [ Next ; Exit after last: On]
5End Loop
参考:
FileMakerでposition関数の使い方 – J's memory
https://bacque.biz/archives/8368
・さらに名前部分を削除する(「木手 英一」から「木手」のみ残す)には以下のスクリプト。
1Loop
2Set Field [ 名前のみ抽出フィールド ]
3Replace ( 元データフィールド ; Position ( 元データフィールド ; " " ; 1 ; 1 ) ; Length ( 元データフィールド ) - Position ( 元データフィールド ; " " ; 1 ; 1 ) + 1 ; "" )
4Go to Record/Request/Page [ Next ; Exit after last: On]
5End Loop
実際にやってみると、意外と簡単に作れた。少なくとも中途半端な市販ソフトよりは断然便利だ。