« シンクロをHP200LX単体で | トップページ | ゴム足製作、HP100/200LX »

2009/02/20

電話帳をOutlook2007からLXのphone.pdbへ

携帯電話の電話帳とOutlook2007の連絡先はだいたい連携が取れています。Nokia機ならNokia PC Suiteで簡単にシンクロしますし、国産携帯電話でも、安価なパッケージソフトでだいたい可能です。

携帯電話と連携済みのOutlook2007連絡先をCSVにエクスポートして、HP200LXのPhone.pdbに取り込みます。

Microsoft Outlook 2007で、ファイルメニューのインポートとエクスポートから、
[ファイルにエクスポート]-[テキストファイル(DOS、カンマ区切り)]-[連絡先指定]から、
エクスポート先のファイル名を指定してcsvファイルを作成します。

これを、APPTOUT.EXEで、phone.pdbに取りこみます。
phone.pdbは、カスタマイズ可能なデータベースなので、項目がどうなっているかわかりませんが、今回はHP200LXデフォルトのphone.pdbの形式に取り込むことにします。カスタマイズしまくったpdbではなく、D:\_DAT\PHONE.PDBの形式のままで使います。HP200LXはPhonebookのデータを様々な形式で別ファイルで持てるので、Outlookからのデータは別ファイルのpdbにしておいてもいいでしょう。


まずOutlookからエクスポートしたCSVを、APPTOUTで読み込める形式に変換します。


perl ol2pb.pl outlook.csv >outpdb.csv

スクリプトの中身は単純で、以下のようなものです。


#!/usr/bin/perl
# Outlook2007連絡先CSVからLX APPTOUT用CSV作成
# perl ol2pb.pl phone.csv

# Outlookの表題行を読み飛ばす。
<>;
while($line = <>){
chop $line;
@arr = split(/,/, $line);
$cntarr = @arr;
# 改行を連結
while ($cntarr < 90) {
$addline = <>;
chop $line;
$line = $line . '\n' . $addline;
@arr = split(/,/, $line);
$cntarr = @arr;
}
$outline[0] = $arr[3] . $arr[2];
$outline[1] = $arr[31];
$outline[2] = $arr[40];
$outline[3] = $arr[38];
$outline[4] = $arr[37];
$outline[5] = $arr[0];
$outline[6] = '"携帯電話帳"';
$outline[7] = $arr[5];
$outline[8] = $arr[17] . $arr[16] . $arr[15];
$outline[9] = $arr[80];
$outline[10] = $arr[18];
$outline[11] = $arr[19];
$outline[12] = $arr[20];
if ($outline[8] =~ /^[ ]*$/) {
$outline[8] = $arr[10] . $arr[9] . $arr[8];
$outline[9] = $arr[80];
$outline[10] = $arr[11];
$outline[11] = $arr[12];
$outline[12] = $arr[13];
}
if ($outline[8] =~ /^[ ]*$/) {
$outline[8] = $arr[24] . $arr[23] . $arr[22];
$outline[9] = $arr[80];
$outline[10] = $arr[25];
$outline[11] = $arr[26];
$outline[12] = $arr[27];
}
$outline[13] = $arr[58];
#
for ($i = 0; $i < 13; $i++) {
$outline[$i] = '""' if $outline[$i] eq "";
print $outline[$i] . ",";
}
print $outline[13] . "\n";
}

こんな感じのスクリプトです。

apptout -x empty.pdb -i outpdb.csv -o addphone.pdb

とすれば、addphone.pdbというPhonebookができます。このpdbファイルを既存のpdb上にマージするなどして使います。

empty.pdbではなく、既存のPhone.pdbを-xオプションで指定すれば、いきなり追加ができてしまいます。
この場合、-oオプションで作成したpdbファイルは最初にPhonebook上で[MENU]-[V]-[S]-[ENTER]の操作をしないと一覧が表示されません。
また、-xオプションで読み込むphone.pdb上で、事前にカテゴリに「携帯電話帳」を追加しておく必要があります。

Phonebook上ならカテゴリでSubsetを作って閲覧したり操作したりできます。HP200LXの元々のPhonebookのデータとダブっていても気にせずに別カテゴリで取り込んでおけば、Phonebook上で切り替えて表示したり、両方表示して比較したりできます。たとえば「携帯電話帳」カテゴリのものだけ全て削除することもできます。
様々な種類の携帯電話でデータシンクロのテストをしていると、仕様上の制限などで、いつの間にか一部の項目が消えたり、データを失ったりすることがあります。一方、LX上のPhonebookは自分で消さないと項目が削除されるようなことはないので安心です。反面、メンテされずに何年も放置されていたりします。今回のように「携帯電話帳」カテゴリのデータは携帯電話とOutlookでシンクロし続けているもの、それ以外は頻繁にメンテしていないものというようにして、同一Phonebook上で手動世代管理に似たことも可能です。


「ol2pb.zip」をダウンロード

アーカイブの中身は、カテゴリの追加だけした空のEMPTY.PDBと、スクリプトです。

|

« シンクロをHP200LX単体で | トップページ | ゴム足製作、HP100/200LX »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/69188/44120227

この記事へのトラックバック一覧です: 電話帳をOutlook2007からLXのphone.pdbへ:

» インプラント [インプラント]
インプラント [続きを読む]

受信: 2009/02/20 23:52

« シンクロをHP200LX単体で | トップページ | ゴム足製作、HP100/200LX »