予定表アイテムを別のカレンダーアプリケーションへインポートするために、Outlookの予定表をiCal形式で出力したい。

■前提
  • 既定以外の予定表フォルダも指定したい
  • 出力処理を自動化したい(警告ダイアログは困る)
  • セキュリティ警告周辺の設定をいじらないで済ませたい
  • Outlook 2003でも使いたい
てな条件でjscriptで書いてみた。

ol2ics.txt(コンテキストメニューから保存。拡張子を.jsに)

cscript.exe ol2ics.js [/folder:folder_path] 出力ファイル.ics

/folder:予定表フォルダのpath。

  • エクスポート時点で、終了時刻が過ぎていない予定が出力される
  • 定期的な予定は未対応
    インポート先アプリケーションが繰り返し予定のインポートに対応していない(手入力はできるのに・・)ので、まぁいい。
  • SaveAsしないのは、
    →OL2003で↓警告が出たから。次項のAppointmentItem.Bodyと関係ある?
    ol_caution.png
    →OL2007だとデフォルトでは、以下のような設定になっていて、アンチウイルスが有効なら警告されないみたい。試しにアンチウイルスをoffにしてから試行したら警告が出た。
    ol_sc.png
  • DESCRIPTIONを出力していないのは、
    →AppointmentItem.Bodyを参照すると上記の警告ダイアログが出たから。(OL2003)
    →インポート先アプリケーションのUIを勘案して、SUMMARYだけ反映できれば十分と割り切ることに。。
  • OL2007だと、Folderに対してSaveAs出来るようだけど、OL2003でも使うので見送りに。

OutlookからUIを用いてics形式で保存すると、UIDの桁数がかなり多く、AppointmentItem.EntryIDの値とは異なる。
AppointmentItem.EntryIDのリファレンスには"The EntryID property returns a MAPI long-term Entry ID. "とあるけど。



       
Powered by Google App Engine

このブログ記事について

このページは、tckzが2008年5月27日 00:18に書いたブログ記事です。

ひとつ前のブログ記事は「Excelで Chartオブジェクトだけ画像ファイルに保存」です。

次のブログ記事は「Excelで VBAマクロをいじってるうちに不調になる話」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.04