Office オブジェクト モデルを使用して、Outlook から予定表アイテムを取得しています。今日の予定だけを取得するには、Restrict() メソッドを使用したいと考えています。また、すべての定期的な予定 (つまり、すべての定期的な予定ではなく、今日の予定のみ) の単一のインスタンスを含めたいと考えています。
以下のコードを使用すると、日付に関係なく、誕生日などの多くの (すべてではない) 定期的なアイテムを取得できます。他にもさまざまな予定がありますが、今日の予定はありません。
2013-07-25 00:00:00 など、日付のさまざまな形式を試しましたが、うまくいきませんでした。私はネットを調査し、VBA スクリプトから例をコピーしようとしましたが、うまくいきませんでした。
これを行った他の人からのアイデアに感謝します。
var outlook = new Application();
var calendar = outlook.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
DateTime today = DateTime.Today, tomorrow = today.AddDays(1);
const string DateFormat = "dd/MM/yyyy HH:mm";
string filter = string.Format("[Start] >= '{0}' AND [Start] < '{1}'", today.ToString(DateFormat), tomorrow.ToString(DateFormat));
var todaysAppointments = calendar.Items.Restrict(filter);
// todaysAppointments.IncludeRecurrences = true;
todaysAppointments.Sort("[Start]");