アドレスブックのデータをExcelに読み込む 11月03日, 2008
アドレスブックがエクスポートできる形式は vCardに限られています。そのため、Windowsな仲間に住所をExcelの表にして渡したいことがあると、従来は、vCard2.0に書き出して宛名職人(ver.14以前)に渡し、そこからcsvでエクスポートしたものを読み込んでいました。しかし、宛名職人がver.15となり、これまでの手順では、メモ欄や配偶者欄が捨てられてしまいます。
また、Numbersには、アドレスブックから簡単に表を作る機能があるのですが、配偶者データを読み込みません。(名前、郵便番号、住所、メモその他多くの欄は実に簡単に読み込んでくれるのですが。)
そこで、アドレスブックから書き出したvCard.vcf(ver.3.0)ファイルからメモ欄・配偶者欄も含めて必要な欄をExcelに読み込むために簡単なperlスクリプトを組んでみました。
スクリプトは、vCard.vcfの姓よみ・姓・名・姓名・自宅郵便番号・自宅住所・配偶者・メモを切り出し、stdoutに書くだけの単純なものです。(vCardの書式が変更されれば手直しが必要となりますし、当然必要と思われるさまざまな確認やエラー処理などは省略されていて、今自分の目の前で動けばよいとしているものです。)
手順:
・アドレスブックからグループのデータをvCard(vCard.vcf)に書き出す。
・スクリプトをvCardのフォルダーに置き、ターミナルから$./vcf2csv.pl | nkf -s >out.csv
とする。
・Excelからこのファイルをインポートする。
nkfを使用しない場合は ShiftJisしか読まないExcelに合わせるため、 mi や TextBatchConv , MultiTextConverter などを使います。住所は自宅住所を見ています。勤務先住所を見るには、スクリプトの"HOME"を"WORK"に直します。両方を見るようにすることもできますね。 スクリプトは骨格のみのごく純朴なものです。もっとも、自分ではこれで実行していますが。
[追記 2013-11-20]: 連絡先.app-8.0(1365)を使い始めて、書き出しの書式が変更されたようで、スクリプトにちょっと変更を加えました。