Pisałem ten kod, aby znaleźć całkowity czas trwania wszystkich nominacji do podanej kategorii w określonym przedziale czasowym:Filter Outlook terminy według kategorii
private readonly MAPIFolder _timing;
private int CalculateTotalDuration(DateTime start, DateTime end, string category)
{
string filter = String.Format(
"([Start] >= '{0:g}') AND ([End] <= '{1:g}') AND ([Categories] = '{2}')",
start, end, category);
return _timing.Items.Restrict(filter).Cast<AppointmentItem>().
Sum(appt => appt.Duration);
}
ten kod wyniki w następującym wyjątkiem przypadku korzystania z wersji rosyjskiej Outlook (nie testowałem go w wersji angielskiej choć):
System.Runtime.InteropServices.COMException was unhandled
Message=Условие неверно.
Source=Microsoft Outlook
ErrorCode=-2147352567
StackTrace:
at Microsoft.Office.Interop.Outlook._Items.Restrict(String Filter)
...
Kiedy wymienić [Categories]
z [Категории]
, tj
string filter = String.Format(
"([Start] >= '{0:g}') AND ([End] <= '{1:g}') AND ([Категории] = '{2}')",
start, end, category);
działa z rosyjską wersją programu Outlook. Ale oczywiście nie będzie działać z innymi językami.
Jak filtrować spotkania w programie Outlook według kategorii w sposób wielojęzyczny?