「アドレス帳のデータベース移行の下調べ」の続きです。個人的なメモなので、事実誤認があるかもしれません。
そもそも、いまどきの住所録というものはどんな形式になっているのでしょうか。
Windows のアドレス帳
新しい Windows OS では直接 vCard 形式で入っていると思い込んでいたのですが、Windows 7 のときに他のプログラムとのやりとりに vCard 形式を使っていたということのようです。
現在稼働する Windows 7 がないので確認できませんが、古い Windows 7 起動ドライブを探したら、 %userprofile%Contacts
( Contacts
は アドレス帳
と表示)に拡張子 .contact のファイルがありました。人名ごとのファイルになっていて、自分でこれを定期バックアップする設定にしていたと思います— と思ったら、これも Vista 時代の古い名残にすぎなかったようです。私は Live メールも Outlook のメールも使わず、メールは Thunderbird 一本槍なので、これらはあまり把握していません。
Windows 8 では標準とされるアドレス帳自体がクラウドにあるようです。
- windows8 アドレス帳 – Google 検索 (いろいろな解説)
なにしろ、Microsoft アカウントにはサインインせず、ストア アプリもまったく使っていないので、さっぱりわかりません。
- ASCII.jp:Windows 8付属のアドレス帳やメールはどの程度使えるか? (1/3)|塩田紳二のWindows 8 IN-N-OUT
Windows 8では、これまでデスクトップアプリとして提供されていたメールやアドレス帳といった機能は、Windowsストアアプリとして提供される。
Windows 8ではこれらが、「メール」「カレンダー」「People」「メッセージング」として付属する。Windowsストアでは、これらは4つでセットのアプリとしてまとめられている。
基本になるのは「People」だ。これは連絡先情報を管理し、SNSサービスと連動するようになっている。「Hotmail」(Outlook.com)「Facebook」「Twitter」「Gmail」「LinkedIn」といったサービスから連絡先情報を集めて、これらをまとめてひとつのリストとして表示するアドレス帳アプリである。
Windows アドレス帳の %userprofile%Contacts
フォルダは Windows 8.1 にも存在していて、新しい連絡先を作ることも可能です。ここを経由して各種アドレス帳や People などをつないでいくことができそうです。
エクスプローラーで %userprofile%Contacts
フォルダを開くと上のほうにメニューがあって、「Windows アドレス帳にインポート」は
- CSV (カンマ区切り) (文字コード UTF-8)
- LDIF (LDAP サーバー)
- vCard (VCF ファイル)
- Windows アドレス帳ファイル (Outlook Express アドレス帳)
「Windows アドレス帳のエクスポート」は
- CSV (カンマ区切り) (文字コード ANSI)
- vCard ( .vcf ファイルのフォルダ)
と書いてあります。
英語ですが、Wikipedia に概要が載っていました。拡張子 .contact のファイルは UTF-8 で XML 。vCard で扱うときは Version 2.1。同期用の API もあるらしい。
Windows 8.1 では Windows アドレス帳のヘルプがなくなっていて、どの項目も「この内容は、もうご利用いただけません。」になります。
Outlook 2010 の連絡先
Outlook 2010 の連絡先は、それぞれの人の連絡先を [ファイル] → [名前をつけて保存] で保存しようとすると、vCard や テキスト などが選べます。複数の人の連絡先を同様に保存しようとするとテキストしか選べません。個別の vCard で出力されたファイルの中身を見ると、VERSION:2.1 で冒頭 Shift-JIS 、だいぶ Microsoft の独自拡張がありそうな感じです。
Outlook 2007 の vCard については、
また、
- vCard ファイルのインポート – Gmail ヘルプ
たとえば、Outlook で vCard ファイルにエクスポートすると、添付ファイル、配信先リスト、連絡先の画像、[表題] 欄、[メモ] 欄の文字書式などのデータが除外されます。
さて、Outlook の連絡先を全部エクスポートするのはどうやるのか、ユーザーインターフェース自体わからなかったのですが、
に書いてありました。[ファイル] → [開く] → [インポート] → 「インポート/エクスポート ウィザード」で「ファイルにエクスポート」を選んでいきます。エクスポートする時でも「開く」→「インポート」から選ぶというのは、とても奇妙なユーザーインターフェースですね。
あるいは、Microsoft の解説では、
とのことで、[ファイル] → [オプション] → [詳細設定] → [エクスポート] から [エクスポート] を選択、あとは同じく 「インポート/エクスポート ウィザード」で「ファイルにエクスポート」を選んでいきます。こちらのユーザーインターフェースでも、エクスポートを選んでいるのにウィザードにインポートも入っていて奇妙です。階層も深くて見つけにくいですし。
「ファイルにエクスポート」で選べる形式は、
- Microsoft Access 97-2003
- Microsoft Excel 97-2003
- Outlook データ ファイル (.pst)
- テキスト ファイル (DOS、カンマ区切り)
- テキスト ファイル (DOS、タブ区切り)
- テキスト ファイル (Windows、カンマ区切り)
- テキスト ファイル (Windows、タブ区切り)
Microsoft の解説によると、一般的な選択肢は、CSV ファイルとも呼ばれている [テキスト ファイル (Windows、カンマ区切り)] です。
とのこと。ともかく、形式を選び、エクスポートするフォルダ(「連絡先」)を選択して、ファイルに保存します。
Outlook 2010 へのインポートは、
- vCard ファイル (.vcf) のインポート
- 他のプログラムまたはファイルからのインポート
が使えそうです。リストの中に「インターネットメールやアドレスをインポート」もありますが、 Outlook からという前提です。vCard以外、「他のプログラムまたはファイルからのインポート」の形式は、
- Microsoft Access 97-2003
- Microsoft Excel 97-2003
- Outlook Express 4.x、5.x、6.x、または Windows Mail
- Outlook データ ファイル (.pst)
- テキスト ファイル (DOS、カンマ区切り)
- テキスト ファイル (DOS、タブ区切り)
- テキスト ファイル (Windows、カンマ区切り)
- テキスト ファイル (Windows、タブ区切り)
- ロータス オーガナイザー 2000
- 個人用アドレス帳
となっていて、形式によりますが、オプションで、
- 重複した場合、インポートするアイテムと置き換える
- 重複してもインポートする
- 重複するアイテムはインポートしない
を指定できます。
つまるところ、Access 2010 の連絡先と他のソフトのアドレス帳との出し入れは、個別 vCard で一個ずつやるか、一気に CSV でやるかということになりそうです。Access や Excel でも 2010 形式は対象外のようで不思議。また、Office なら、おそらく外部から操作(同期)することも可能でしょう。iTunes が Outlook の連絡先と同期できるのだから、頑張ってプログラムすれば、たぶん操作できるはず。
インターネット上のアドレス帳
ふと見た Yahoo!アドレスブック では
- インポート
- gooメール(.CSV形式)
- Microsoft Outlook(.CSV形式)
- Mozilla Thunderbird(.LDIF形式)
- Yahoo!アドレスブック(.CSV形式)
- エクスポート
- Microsoft Outlook(.CSV形式)
- Mozilla Thunderbird(.LDIF形式)
- Yahoo!アドレスブック(.CSV形式)
となっています。
Gmail では「連絡先」と表現していて、
- Gmail の連絡先のエクスポート – Gmail ヘルプ
Google アカウント間で連絡先を転送するには、Google CSV 形式を使用します。この方法は Google コンタクトのバックアップとしておすすめします。
Outlook、Yahoo! メール、Hotmail、その他のアプリケーションに連絡先を転送するには、Outlook CSV 形式を使用します。
Apple アドレスブックに連絡先を転送するには、vCard 形式を使用します。
とのこと。なるほど。ふだん Windows を使っていても iTunes や iOS は Apple なので vCard であるかのような気がしていたんですね。CSV でも一番主流なのは Outlook に合わせた形式だと。
その他
日本用のソフトでは
- Jアドレス
- ContactXML
という形式の規格もあるのですが、私が現在使っている範囲のソフトでは対応していないようです。携帯電話や年賀状ソフトでこの形式のファイルを使っていると思われます。
vCard の概要については、Wikipedia がまとまっています。ここから仕様もたどれます。
自分で作るなら、vCard か CSV で最低限の相互運用性を確保しつつ、好みで設計することになりそうです。
(2014/1/9)
(追記)
データ(コンテンツ)もソフトウェア(サービス)も、どんどんインターネット(クラウド)上に移行しているようです。Office 2013 (Outlook) 関連も iOS (iTunes) 関連もクラウドへ。ローカルのファイルと同期させるというより、クラウドのサービスから別のサービスに同期させるという感じ? パソコンの減少(Windows 減・Mac 増)、スマートフォン・タブレット・Android・iOS の増加ということから、どこにいても同じ環境で(同じアドレス帳で)アクセスするためには、インターネット上に置いておくほうが自然なんでしょうね。
(2014/1/11)
お邪魔します。様々なプラットフォームを使用する現代において、異なるプラットフォーム間での同期は頭を悩ます問題だと思います。同期に便利なソフト(EVO Collaborator for Outlook)を発見しましたので、ご紹介させていただきます。私もまだ使い始めたばかりですが、簡単でコストパフォーマンスも良いと思いますよ。