3

にある種の範囲を使用しようとしています[Start]:

var calendar = outlookApplication.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar);

if (calendar == null || calendar.Items == null)
{
   return null;
}

DateTime appointmentStart = new DateTime(2013, 03, 25, 10, 0 ,0);

string filter = string.Format("[Start] > '{0}' And [Start] < '{1}'", appointmentStart.AddMinutes(-1).ToString("g"), appointmentStart.AddMinutes(+1).ToString("g") );
var calendarItems = calendar.Items.Restrict(filter);

そして、私はAppointemtItemOutlookオン25.03.2013になってい10:00:00ます。そのため、この AppointmentItem を次の結果として取得するのを待っていますcalendar.Items.Restrict(filter);

しかし、私は2つのAppointmenItemsになります:

  • 正しいもの

  • また、2012 年 4 月 5 日 - 2012 年4 月 5日(2013 年ではない) からの 1 つには、開始 10:30:00 と終了 10:40:00 があります。

05.04.2012 10:30:00 - 10:40:00 と関係があるのか​​理解できません

> 25.03.2013 09:59 および < 25.03.2013 10:01 のフィルター?

4

2 に答える 2

2

プロパティを使用Items.IncludeRecurrencesする - MSDN: IncludeRecurrences プロパティ

于 2013-03-21T13:58:56.487 に答える
0

AppointmentItemfrom 05.04.2012 は定期的なものです。

後で表示される理由はわかりcalendar.Items.Restrict(filter)ませんが、解決策はIsRecurringプロパティを確認することでした。

于 2013-03-21T10:27:34.827 に答える