覚え書き


記事の内容

前へ | 次へ

ConvVCF2〜vCard形式のファイルをPocketOutlookに取り込む
2007/05/12 03:59

2009/08/07
iPhone3Gで取り込む際に適した形にVCFを変換する機能を追加しました。
WindowsMobile機がなくても、WindowsPCで動作が可能かと思います。
(PC動作検証例が欲しい……動作しないようなら報告をいただけるとこれ幸い。一応WindowsXPでは動作確認済み)



以前にvCard形式のファイルをW-ZERO3に取り込むと言う事でConvVCFと言うソフトを作成した。今回はそれのバージョンアップともいえるソフトを紹介する。

その名もConvVCF2だ。まんまとか言わない。
現在の最新バージョンはVer.20090807です。

ダウンロードはこちら
CABインストーラ形式ConvVCF2_20090807.CAB (45.1KB)
ZIP圧縮形式ConvVCF2_20090807.zip (19.5KB)
PCで使う人はZIPの方を。

画面イメージはこちら
画像
PCで動かした場合
画像

ソフトの説明はこちら(同梱のreadme.txtの中身)

●ソフト名
ConvVCF2 Ver.20090807

●開発者
sia
http://sia.blog4.fc2.com/
http://sia.blog4.fc2.com/blog-entry-383.html

●開発ツール
Microsoft Visual Studio 2005
このソフトの動作には「Microsoft .NET Compact Framework 2.0」が必要です。

●動作確認環境
WindowsMobile
 W-ZERO3
 W-ZERO3[es]
携帯電話
 N901iS
 W52SH
 SH-06A NERV
PC環境
 WindowsXP SP3


●機能説明
このソフトウェアはWindowsMobile端末上、および
.NET Compact Framework 2.0上にて動作するソフトウェアです。
以下の機能を持っています。

・携帯電話等で出力出来るvCard形式のVCFファイルから
 PocketOutlookの連絡先に取り込む事が出来ます。
 名前の一致を元に内容を上書きする機能があります。

・PocketOutlookの連絡先から携帯電話等で取り込める
 vCard形式のVCFファイルを出力する事が出来ます。
 ただし携帯電話側での操作には若干の手間が必要です。
 全ての携帯電話でテストしていない為、
 取り込めない可能性もあります。

・連絡先の情報を全て削除する事が出来ます。
 消したデータは元に戻りませんのでご注意ください。

2009/08/06 New!
・iPhoneでの取り込みに適した形でのVCFファイルが作成出来ます。
 「携帯用VCF→iPhone用VCF変換」クリックで変換元となるVCFファイルを指定、
 変換元と同じ場所にiPhone用に最適化したVCFファイルを出力します。
  ファイル名形式:yyyyMMdd_HHmmss.vcf
 作成されたiPhone用VCFファイルをiPhoneにメール等で転送すると取り込めます。
 読み仮名の項目にも対応しています。
 (iPhoneの連絡先が全クリアされているとスムーズに取り込めるようです)


●取込対象項目
表示される名前
名字;名前
ニックネーム
読み
誕生日
住所
TEL
EMAIL
役職
メモ
勤務先など
URL
カテゴリ(グループ)

※姓名分かれていない場合はすべて名字として取り込みます。
※姓名が半角スペースで分かれている場合は分けて取り込みます。

●出力対象項目
表示される名前
名字;名前
ニックネーム
ソート
読み
誕生日
住所
TEL
EMAIL
役職
メモ
勤務先など
記録時間
URL
カテゴリ(分類項目)

※姓名分けて登録している場合は半角スペースで分けて出力します。

●インストール・アンインストール
CAB形式の場合
本体にCABファイルを配置し、実行してください。
不要になりましたら「プログラムの削除」から
「sia.blog4.fc2.com ConvVCF2」を削除してください。

ZIP形式の場合
ZIPを解凍して得られたConvVCF2.exeを
WindowsMobile端末本体の適当な場所へ配置し、実行してください。
不要になりましたらexeファイルを削除してください。

●注意事項
全てのvCard形式をテストしているわけでは無い為、
期待する変換が行われない可能性があります。

マージ機能による上書き、あるいは操作ミスなどにより、
連絡先のデータが意図せず消える可能性があります。
バックアップなど十分に行った上で使用してください。

●免責事項
このプログラムによって生じたいかなる事象にも作者は責任を負いません。
どうかご自身の責に於いて使用して下さい。

●更新履歴
2009/08/07
メインフォームのタイトルバーにてバージョン確認出来ます。
追加
・iPhoneが認識する読み仮名の2項目を追加
  X-PHONETIC-FIRST-NAME(名前の読み 名)
  X-PHONETIC-LAST-NAME(名前の読み 姓)
 が追加されます。
・「携帯用VCF→iPhone用VCF変換」ボタンの追加
 最初に元のVCFを指定すると変換開始。
 変換結果は元のVCFと同じフォルダにyyyyMMdd_HHmmss.vcfとして出力。
 これは強制的にUTF-8での出力となる。
 連絡先に取り込まずにVCF→VCFで変換するので、
 .NET Compact Framework 2.0 が動かせる環境ならPCでも動作可能なハズ。
 (個人的にこの機能が欲しかったので機能追加した)
修正
・「名前をキーにマージ」指定時の動作速度を改善
 先に名前を一括でDictionaryに読み込み、キー検索でindexを取得するように変更。
 大丈夫とは思うけど、マージ使用時はバックアップを充分に取った上で実行の事。

2007/11/01
追加
・携帯独自の項目と思われる
 「X-GNO」Group Number?
 「X-GN」Group Name?
 が設定されている場合、それを分類項目として取り込む様に修正
 例)X-GNO=1 X-GN=友人 の場合、
   分類項目に「1-友人」として登録
・分類項目をハイフンで区切り、X-GNO、X-GNとして出力する様に修正
 例1)
  分類項目に「1-友人」とある場合、
   X-GNO=1
   X-GN=友人
  と出力
 例2)
  分類項目に「1友人」とある場合、
   X-GNOは出力なし
   X-GN=1友人
  と出力
修正
・出力するvCardのバージョンを2.1としていたのを3.0に変更
 →あまり意味は無いが携帯が出力するバージョンが3.0なので合わせてみた。
・名前を半角スペースで区切っている場合に姓名両方に姓が登録されてしまう
 →姓と名を分けて登録する動作に不具合があった。修正。
・誕生日の取り込みが正常に行われなかった
 →区切り文字なし8桁表記の場合に取り込めなかった。対応した。
・070の番号が携帯電話として取り込まれてしまう事がある
 →番号の出現順で処理していた為。
  070の番号を優先してPHSの項目として取り込むようにした。

2007/05/19
以下の動作を修正
全般
・QUOTED-PRINTABLEのエンコード処理追加
・QUOTED-PRINTABLEのデコード方法見直し
VCF取込時
・項目に囚われずQUOTED-PRINTABLEを判定しデコードする様に修正
VCF出力時
・全角文字または半角カナを含む項目にはCHARSET=SHIFT_JISを出力する様に修正
・改行コードを含む項目、及び特定項目(NOTE)は
 QUOTED-PRINTABLEエンコードして出力する様に修正

2007/05/15
VCF出力について、以下の動作を修正
・SORT-STRINGを、SORT_STRINGと誤って出力していたのを修正
・TEL、EMAILにTYPE属性を付与
・SOUNDの出力を抑制

2007/05/12
CHARSETを取得、判定して読み込むように対応した。つもり

2007/05/07
内々に公開。

対応する端末としてはW-ZERO3に限らず、WindowsMobile5.0やWindowsMobile6.0等をOSとする端末であり、.NET CF2.0が入って居れば動作すると思われる。

今で言えば、

DoCoMo hTcz
Softbank X01HT
イー・モバイル EM-ONE

などでも動作するんじゃないかなと。もし試した方がいらっしゃれば報告していただけるとこれ幸い。
(コメント欄や実際に使用していただいた方のブログ等でたくさんの報告をいただいています。感謝)
ただ、使用上の注意はよく読んで正しく自己責任で。
どんな場合でも、データが消えても保障できないのですみません。


使い方としては、携帯電話などから出力したvCard形式のVCFファイルを本体やメモリ上にコピーしておく。(注:配置はメモリのルートか、フォルダ階層が1階層までに配置してください。それ以上深い階層に置いても取り込めません。)
続いてConvVCF2を起動しVCFファイル→連絡先取込をタップすると、ファイル選択ダイアログが表示される。ここで先に配置したVCFファイルを指定してやると、確認メッセージの後、取込処理が開始される。

逆に連絡先→VCFファイル出力だと、出力先を指定するダイアログが表示され、保存ファイル名などを決定すると、連絡先の内容がVCFファイルとして出力される。
ただし、これが本当に正確にvCard形式に準拠しているかは、判らなかったりして。

名前をキーとしてマージする機能については若干作りが手抜きなので件数によっては耐えられない程に遅くなる可能性がある。
自分の場合は140件ほどだったが、それなりに時間がかかった。
Ver.20090807で改善したつもり。
また、途中で省電力に移行してしまった間は処理が進まなかったようだ。
一応上記件をご理解のうえ、使ってみて欲しい。


個人的な話だが、前回のConvVCFについてはまだ.NETも良くわかっておらずで稚拙なソースだったので、今回はまたゼロから作成しなおしたりしている。

以前はVCFファイルを連絡先へ取り込む動作と、VCFからCSVへのファイル変換機能を有していたが、今回は
VCFを連絡先へ。
連絡先をVCFへ。
と言う形で相互に取込、出力を可能としてみた。

一応、自分では携帯電話への取り込みについても確認はしたが、若干手間がかかる。
試したのはDoCoMoの端末、N901iSになるが、どうやらどのようなファイルがminiSD内にあるかを示す「PIM_DATA.PIM」なるファイルに記載されていないと、取込対象とする事が出来ない様子だった。

仕方ないので、一度携帯から電話帳の内容をVCFファイルに出力し、そのVCFファイルそのものを、ConvVCF2で出力したVCFファイルの内容に置き換える形を取った。
これにより、携帯電話でその内容を確認、取込が出来るようになった。

まぁ、W-ZERO3から携帯電話へもデータを渡す事が出来ますよと言う事で。

Amazon.co.jp ウィジェット

前回のツールを公開してから方々のブログなどで取り上げて頂いた中で気になったことの一つ、文字コードの問題で上手く取り込めないと言う点について、一応対応を取って見たつもりでいる。
が、いかんせん自分が持っている携帯から出力されるのがShift_JISのものばかりなので、テストが出来ていない。

もしShift_JIS以外の文字コードのVCFファイルを取り込もうとして駄目だった人が居らっしゃったなら、報告いただければ対応が取れるかも知れない。

あ、ちなみにVCFへの出力はShift_JIS固定です。


今回のソフトを作成するに当たっては以下のサイトの情報を参考にし、作成させていただきました。
feelx
http://feel-x.net/blog/ajax.php?xml=public/article/06_12_26_00.xml
有益な情報をありがとうございました。
書かれている情報の全てを自分の方で消化仕切れては居ませんが……

2009/08/07
iPhoneでVCFファイルをメールに添付して取り込むことが出来るって事で、プログラムを改造。
購入当初、メール添付でいけそうとは思いつつ、うまく取り込めないなぁと悩んでいた。

それからしばらくしてConvVCF2を使用されている方のブログなどを訪問した際、iPhoneに取り込むためのTips的な情報がいくつかみうけられた。
・UTF-8形式じゃないとうまくいかない
・読みは「X-PHONETIC-FIRST-NAME」「X-PHONETIC-LAST-NAME」で取り込める
ほうほうなるほど、と言うことでiPhoneが取り込むのに適した形のVCFファイルを出力する動作を追加してみた。

想定している使い方は、
携帯電話でアドレスを全管理。

それをVCFファイルに出力してPC上やWM上に配置。

ConvVCF2の「携帯用VCF→iPhone用VCF変換」機能でVCFを変換。

変換したVCFファイルをメールに添付してiPhone向けに送信。

iPhoneで添付ファイルのVCFを開いて全追加。

ちなみにVCFの中の件数が238件の場合、添付を開こうとしてから2〜30秒ほど時間がかかった。
開けたら「○○件すべての連絡先を追加」を選んで追加する。
この時、既に連絡先に登録されている場合、VCFを取り込む時に「連絡先と結合」を選ぶことで既存項目は更新され、存在しない項目は追加される。

画像
ここで「新規連絡先を作成」を選ぶと、追加追加で作成されてしまうので注意したい。

ただこの手順でVCFを取り込んでも、携帯電話上で削除されている人がいても、iPhone連絡先の同項目が削除される事はないので、メンテが若干面倒。

完全に携帯電話の電話帳と同期を取りたいなら、iPhoneの連絡先を全削除してから取り込むのがベスト。
しかしiPhoneの連絡先の全削除はiPhoneの標準機能としては持ってない。
そういった機能を持ったアプリを購入するか、PCとiTunesで同期を取る際にうまくクリアするようにしてやらねばならない。
あとグループ情報は取り込むことが出来ないのもネックではある。
これらがうまくクリア出来れば万々歳なんだけども。

せめてiPhone向けに連絡先を一括削除する機能を持ったアプリでも作って見たい所だなぁ。
ついでにグループの設定が出来るような機能をiPhone側で提供とか。
メモとかにCategoryがあったらそれをグループ名として設定するような。
でも公開するには年間1万円払う必要があるようだし、うーん。


今回のバージョンVer.20090807の作成にあたっては、以下のサイトを参考にさせていただきました。
■[iPhone] アドエスからのデータ移行 00:49
アドエスことWILLCOM W-ZERO3[es]の連絡先をiPhoneで使えるようにしてみた。
http://d.hatena.ne.jp/watanaa/20090627/1246117742

iPhone へアドレスブックの内容を整形してインポートする
http://blog.poqu.org/2008/07/22/iphone-address-book/

有益な情報をありがとうございました。

カテゴリ:携帯電話

前へ | 次へ

コメントを見る(40)
コメントを書く
トラックバック(7)
BlogTOP
このユーザーのホーム

ログイン

i-mobile


Powered by FC2 Blog