ローカルのOutlookの予定表データをGoogle Calendarへ一方向同期するアプリなのです。
数ヶ月以内にはGoogle謹製のOutlook連動ソフトも出る予定らしいのですが、我慢できずに作ってしまいました。
それまでの間の短い命ですが、宜しければどうぞ。
あまり機能もなくテストもあまりやってませんのでそのつもりで。
ダウンロード: ol2gc R0.1
* 解凍して適当なフォルダに入れてol2gc.exeを実行して下さい。
■機能
- 起動するとSyncボタンがあります。押下するとGoogle Calendarへログインするためのユーザー名とパスワードを聞かれますので入力すると同期が始まります。動作状況はボタンの下にロギングされます。
- Outlookへアクセスする際にアクセスを許可するかどうか毎回尋ねられます。1分など適当な期間を指定してから「OK」ボタンを押して下さい。
- ローカルのOutlookからGoogle Calendarへの一方向同期のみ行います。Google Calendarへ直接行った変更はOutlook側へは書き戻されません(再実行するとOutlookのデータで書き直されてしまいます)。
- 新規作成、更新(件名、場所、開始/終了時刻、詳細の変更を検知)、削除の内容が同期されます。
- 同期対象は、予定の開始時刻が同期時点から一ヶ月以内、100件までのデータです。100件を超えるとうまく動作しません。
■環境
- .NET Framework 1.1が必要です。
- .NET Framework 1.1が入っていればOSは問わないはずですが、作者はXP(32bit/Home Edition + SP2)でのみ動作を確認しています。
- Outlook2003(v11.8010.6568 + SP2)にて動作を確認しています。他のバージョンでは動作しないかも知れません(試せないのでよく分かりません)。
■制限とか分かっている障害とか
- あまり大量のデータでは試していません。
- 追加のカレンダーなどには対応していません(多分。試してないけど)。
- 1対多など複数の環境から同期を行うとおかしくなると思われます。1対1の同期のみ対応です。
- Google Calendar側のDescriptionを見ると変な文字列が最後に紛れ込んでいますが、これはOutlook側のユニークiDなので編集したり削除しないで下さい。(C# FormsのTagみたいに保持するのにもっといいフィールドがあるといいんですけどね・・)
- たまに「Cast Error !」というメッセージのエラーが出て動作しない場合があります。海外の掲示板でも話題になっていて原因不明のエラーなのですが、どうやらOutlook COMとのマーシャルがうまく動作しない場合があるようです。
この場合には、- Outlookを起動していたら終了する
- タスクマネージャからOUTLOOK.EXEのプロセスを終了する
を行って下さい。
常にOutlookを起動しておくようにすると、大体調子いいみたいです。 - 基本的には変更されていない予定はGoogle Calendarへ毎回反映することはないのですが、予定が終日であった場合のみ、常に更新が行われてしまいます。これはGoogle Calendarが何故か終日の予定の場合だけ開始/終了日時の年にありえない数値(3994年など)を返してくるためで、恐らくGoogleのバグです。
バグとか要望とかあればコメントまでどうぞ。出来る限り対応させて頂きます(短い命なので、あまり凝るつもりはないですけども)。