Benutzer mit den meisten Antworten
Office 2003 VSTO 2005 Outllook.Items Restrict funktioniert aber Count liefert falschen wer

Frage
-
Hi,
ich schreibe gerade an einem AddIn für Office Outlook 2003 mit VS 2008 und VSTO 2005 und habe folgendes Problem
ich habe im Kalender wiederkehrende Termine. Im Programm benötige ich die Anzahl der zu verarbeitenden Termine und benutze
daher die Funktion Restrict(string Filter) um die Wiederkehrenden Termine ohne festes Enddatum zu beschränken. Das funktioniert auch
so wie gewünscht. Im aktuellen Kalender liefert mir dies ein Set von Items welches 44 Items enthält. Diese kann ich auch über eine foreach Schleife
ohne Probleme bearbeiten.
Die funktion Count liefert jedoch als Rückgabewert eine Zahl der Größenordnung 2 Milliarden irgendwas...
hier die relevanten Codezeilen:
calendarFolder = outlookNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);
Outlook.Items tempItem = calendarFolder.Items;
tempItem.Sort("[Start]", false);
tempItem.IncludeRecurrences = true;
calendarItems = tempItem.Restrict("[Start] >= " + startString + " AND [End] <= " + endString);
return calendarItems.Count;
Ich habe leider nicht besonder viel Erfahrung in der Programmierung von AddIns mit VSTO und befürchte das ich irgendwas übersehe.
Bin für jeden Hinweis dankbar...
Gruß
Tobias
Antworten
-
Hallo Tobias,
ich denke, Du übersiehst nichts, sondern das ist ein dokumentierter Bug im Outlook Objektmodell. Empfehlung ist hier mit For Each durch die gefilterte Auflistung zu laufen und die Einträge in einer eigenen Counter Variablen zählen. Folgende Links beziehen sich zwar auf OL 2000/2002, dürften aber auch für 2003 zutreffen, da man auch für die vorhergehenden Versionen entsprechende KB Artikel findet:
OL2002: Incorrect Count Property Using Recurring Appointments
http://support.microsoft.com/kb/294385/en-us
Getting All of a Day's Appointments in Microsoft Outlook
http://msdn.microsoft.com/en-us/library/aa155752(office.10).aspx
Thorsten Dörfler
Microsoft MVP Visual Basic- Als Antwort vorgeschlagen Thorsten Dörfler Dienstag, 22. Dezember 2009 10:47
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 30. Dezember 2009 16:43
Alle Antworten
-
Hallo Tobias,
ich denke, Du übersiehst nichts, sondern das ist ein dokumentierter Bug im Outlook Objektmodell. Empfehlung ist hier mit For Each durch die gefilterte Auflistung zu laufen und die Einträge in einer eigenen Counter Variablen zählen. Folgende Links beziehen sich zwar auf OL 2000/2002, dürften aber auch für 2003 zutreffen, da man auch für die vorhergehenden Versionen entsprechende KB Artikel findet:
OL2002: Incorrect Count Property Using Recurring Appointments
http://support.microsoft.com/kb/294385/en-us
Getting All of a Day's Appointments in Microsoft Outlook
http://msdn.microsoft.com/en-us/library/aa155752(office.10).aspx
Thorsten Dörfler
Microsoft MVP Visual Basic- Als Antwort vorgeschlagen Thorsten Dörfler Dienstag, 22. Dezember 2009 10:47
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 30. Dezember 2009 16:43