文市の小箱茶室 ケーキ小箱LX-[vCalendar]\ 紅茶読書自転車好み他伝言板blog

LXでvCalendar

(1/4/2006作成)


 auケータイW32T双方向シンクロ用Perlスクリプト(1/4/2006作成)
 iPAQ PocketPCへの予定登録(1/4/2006作成)


auケータイW32T双方向シンクロ用Perlスクリプト

(1/4/2006作成)


LX写真 Outlookなんて介さなくても、直接ケータイとLXでスケジュールシンクロすればいいじゃん、と思いつきます。
年末年始に青春18きっぷで各駅停車鉄道旅行を楽しむ間、LXでぷちぷちとスクリプトを書きました。電池切れの心配なくコードを書けるので、途中で居眠りしても、何時間かかっても問題ありません。コードを書いたらその場でテストもできます。デスクトップPCやノートPCに縛られず、旅の友にできるLXはやっぱり良いな、と再認識します。
get softwarevcal0104.zip

ダウンロードしたアーカイヴをLXのフラッシュの適当なディレクトリに展開します。ファイルの内容は以下の通り。
LXVCAL.BAT
シンクロ用サンプルバッチファイル
vcal2csv.pl
vCalendarからcsvへ変換スクリプト
catqp.pl
QUOTED-PRINTABLE複数行連結スクリプト
diffappt.pl
apptout形式csvの比較、差分抽出
CSV2VCAL.PL
LXのapptout出力csvからvCalendar形式へ変換スクリプト
CSV2VCAL.BAT
LXのapptoutでのcsv形式からvCalendar形式へ変換サンプルバッチ
CSV2VCS.BAT
LXのapptoutでのcsv形式から、PocketPC用vCalendar形式へ変換サンプルバッチ
CSV2VCS.PL
LXのapptout出力csvからiPAQ PocketPC vCalendar形式へ変換スクリプト
LXのAppointmentsのデータをA:\_DAT\APPT.ADBに置いている前提のバッチファイルになっています。auケータイW32TのスケジュールバックアップデータはminiSDからLXのC:\にコピーしておきます。
JPerlの実行ファイルをperl.exeとリネームしてパスの通ったディレクトリに置いてあるある環境用になっています。もちろんapptout.exeもです。
動作は以下のバッチファイルを読んだ方が早いでしょう。
rem LXのAppointmentsとauケータイスケジュールのシンクロ
rem auのケータイW32TスケジュールバックアップからLXのAppointmentsへ登録
rem appointmentsデータをコピー
copy APPT.ADB APPTOLD.ADB
copy A:\_DAT\APPT.ADB
rem C:に置いたauケータイスケジュールバックアップデータをコピー
for %%F in (C:\SL__000*.VCS) DO copy %%F vcal.dat
rem appointmensのデータをCSVへ
apptout -a -x appt.adb >appt.csv
apptout -e -x appt.adb >>appt.csv
rem vCalendarのQUOTED-PRINTABLE複数行連結
perl catqp.pl vcal.dat >vcal.vcs
rem auケータイスケジュールバックアップデータをcsvに
perl vcal2csv.pl vcal.vcs >vcal.csv

rem 差分csv生成au vCalendar to LX
perl diffappt.pl appt.csv vcal.csv addlx.csv
rem 新adb生成
apptout -x appt.adb -i addlx.csv -o newappt.adb -a

rem シンクロ au vCalendar to LX
rem \_DATへコピー
echo APPT.ADBを更新します。
copy A:\_DAT\APPT.ADB A:\_DAT\APPTOLD.ADB
copy NEWAPPT.ADB A:\_DAT\APPT.ADB

rem シンクロ LX to au vCalendar
dayexec apptout -a -g/YYMM01/ -x appt.adb >appt.csv
dayexec apptout -e -g/YYMM01/ -x appt.adb >>appt.csv
rem 差分csv生成au LX to vCalendar
perl diffappt.pl vcal.csv appt.csv  addau.csv
perl csv2vcal.pl addau.csv >addappt.vcs
rem perl csv2vsc.pl addau.csv
copy addappt.vcs c:\
echo auケータイになくてLXにある予定は以下の通りです。
type addau.csv
echo 必要があれば、c:\addappt.vcsをauケータイで取り込んで下さい。
バッチファイルはサンプルですので、各々の環境に応じて書換えてから利用します。


LX写真 シンクロの手順は、まず、ケータイでスケジュールをminiSDにバックアップ、そのminiSDをLXに挿して、
A:\PRIVATE\AU\BU\B_SL\SL__000?.VCS
のうち最新のタイムスタンプのファイルをC\にコピーします。
生DOSかmaxdos経由でシンクロ用バッチファイルを動かせば、A:\_DAT\APPT.ADBが自動で更新され、auケータイに登録してLXに登録のなかった予定は追加されます。逆にLXに予定が登録してあり、ケータイにない予定はC:\ADDAPPT.VCSというvCalendar形式データが生成されます。


LX写真 このvCalendar形式ファイルC:\ADDAPPT.VCSをケータイ用miniSDをLXに挿してコピーします。コピー先は、A:\PRIVATE\AU_INOUT\です。このAU_INOUTディレクトリがケータイからみた「PCフォルダ」になります。
ケータイで「SDカードメニュー」から「PCフォルダ」を選び、SDカードのデータフォルダに取り込みます。「SDカードメニュー」の「データフォルダ」の「PIM情報」に取り込まれるので、該当ファイルを選んで再生すれば中身が見られます。


LX写真 登録ボタンでケータイカレンダーのスケジュールとして取り込むことができます。
ケータイとLXで双方向スケジュールシンクロができるようになりました。


iPAQ PocketPCへの予定登録

(1/4/2006作成)

LX写真 HP100/200LXのAppointmentsの予定をapptoutでcsvにしたファイルから、iPAQ PocketPCで取り込めるvCalendar形式に変換するスクリプトもvcal0104.zipに同梱しています。


LX写真 HP100LXで登録した予定や、ケータイとシンクロしてLXに登録された予定で、PocketPCにはまだ登録されていない予定を、WindowsPCなしにLX上でPocketPCに登録できるファイル形式に変換できます。


LX写真 まずは、apptoutでAPPT.ADBからcsvファイルを生成します。
apptout -a -x \_DAT\appt.adb -g051201 >appt.csv
テキストエディタでPocketPCに登録したい予定の行だけに編集します。-gオプションで範囲を狭めると登録したい予定を選びやすくなります。


LX写真 できたcsvをPocketPCで取り込めるようvCalendar形式にします。
perl csv2vcs.pl pim.csv
複数予定がある場合、PocketPC側では1ファイル1予定しか取り込めないので、予定の数だけファイルができます。PIM0001.VCS,PIM000.VCS,...といった感じです。どのファイルに何の予定が入っているか分かるようにPIMIDX.TXTという目次替わりのログファイルも生成します。


LX写真 vCalendar形式ファイルをSDカード経由などでPocketPCに入れます。そのままタップしても予定の内容が取り込まれずMy Documentsフォルダにmoveされてしまうだけになるので、拡張子をリネームします。
拡張子「VCS」を小文字の「vcs」にリネームしてやります。GSFinder+のオプションで「拡張子を表示しない」のチェックを外して拡張子を編集できるようにしておけば拡張子を変えられます。


LX写真 拡張子が小文字の「vcs」になったら、タップしてやればデータの追加ができるようになります。


LX写真 LXの予定がWindowsPCを介さず無事PocketPCに登録されました。PocketPC2003のiPAQ h4150とWindowsMoblie5.0のiPAQ rx1950で動作確認をしました。


文市の小箱茶室 ケーキ小箱LX-[vCalendar]/ 紅茶読書自転車好み他伝言板blog

文市(あやち)=青野宣昭