こばこのひみつこばこのひみつうを水をゆくに、ゆけども水のきはなく、鳥そらをとぶに、とぶといへどもそらのきはなし。CalendarがOutlookを経由することなく同期できるようになりました。CalendarはOutlookなしでも様々な小箱とシンクロできるようになってきています。Calendarでシンクロしたくなります。CalendarがOutlookを経由せず直接データ同期できるようにしてみます。「g2lx.zip」をダウンロードアーカイブの中身は以下の通りです。g2lx_G.batシンクロ用のバッチファイルサンプルg2lx.pl二つのapptout用csvファイルを比較し差分出力するスクリプトics2csv.plGoogleCalendarでエクスポートしたics形式からapptout用csvファイルへの変換スクリプトLX2GCAL.PLapptout用csvファイルからGoogleCalendarでインポートできるics形式への変換スクリプトLX側は、ぼくの場合A:\_DAT\APPT.ADBでAppointmentsデータとしています。apptout.exeでこのADBファイルからデータを抽出し、追加データを書き込むことができます。calendar側は、インポート/エクスポート機能が標準であるので、それを使うことにします。試しにエクスポートしてみます。カレンダー設定画面に、「カレンダーをエクスポート」のリンクがあります。これをクリックすると、マイカレンダーをics形式でダウンロードできます。ぼくはマイカレンダーを二つ設定しているので、二種類のカレンダーがそれぞれicsファイルとなり、zip圧縮されてダウンロードできます。カレンダーを選んで詳細画面で、限定公開URLの[ICAL]のボタンから、そのカレンダーの全データをbasic.icsというファイルでダウンロードすることもできます。すると、あと必要なのは、basic.icsからapptout形式のcsvにするスクリプト、二つのcsvを比較するスクリプト、追加予定をics形式で保存するスクリプトがあれば、ほぼ同期ができそうです。この方法だと、LX側でも、GoogleCalendar側でも、既存の予定の内容を修正したときに、うまく修正できるか心配な部分があります。ここは割り切って、予定を変更したら、LX上では別の予定として登録されるようにして、不要になった予定はLX上で自分でDELETEキーを押して手動削除することにします。Calendar側は、LX側と同じようにするといくつも同じ予定が登録されるのが気持ち悪いです。CalendarはLX以外とも同期をするからです。Calendarへ予定の追加は、一つの項目(件名+開始日時で判別)につき一度しかインポートできないようにUIDを設定するようにします。同じ予定を再度取り込みたいときは、生成したICSファイルのUIDをエディタで書き換えれば可能です。このように、全自動シンクロではないけれど、手動で割りと簡単にシンクロできるようになります。Calendarを操作できるブラウザがあるPC環境にLXのフラッシュカードをさせば、LXでインターネット環境を作らなくても使えそうです。Calendarでaddggl.icsをインポート(必要に応じて)という感じです。ぼくは、祝日や誕生日などの終日イベントデータはシンクロしたくなかったので、終日イベントは別ファイルを生成して、必要な場合はそちらもインポートすればいいようにしました。CalendarのデータをOutlookを経由せず直接シンクロして、それぞれ不足している予定項目を取り込むことができるようになりました。ぼくの用途では十分になりました。内容修正された旧項目の手動削除といった手間がないわけではありませんけれど、それなりに快適です。バグや仕様で勝手にデータが消去されたりすることはないので、そういう意味では安心です。Communicatorが届きました。はてなハイクayati.comayatiの日記はてなアンテナマイリスト。