Bekende problemen in Outlook 2010 wanneer u het objectmodel gebruikt

Origineel KB-nummer: 2265515

Samenvatting

In dit artikel worden de bekende problemen beschreven die kunnen optreden wanneer u het objectmodel Microsoft Outlook 2010 gebruikt.

Kan geen object maken Outlook.Application vanuit een proces met verhoogde bevoegdheden

U kunt Outlook niet automatiseren met behulp van een proces dat wordt uitgevoerd met verhoogde machtigingen in Windows Vista, in Windows 7 of in een ander besturingssysteem dat het uitvoeren van processen met verhoogde machtigingen toestaat. Dit is een onderliggende beperking van de COM. Zowel Outlook als aangepaste programma's die Outlook automatiseren, moeten op hetzelfde integriteitsniveau worden uitgevoerd.

De gebeurtenissen BeforeItemMove en BeforeFolderMove vinden niet plaats

Er zijn meerdere scenario's waarin de BeforeItemMove gebeurtenissen en BeforeFolderMove niet plaatsvinden. Bekende scenario's zijn onder andere het verwijderen van afspraken uit de To-Do balk, het verwijderen van vergaderingen uit de agenda en To-Do balk, het implementeren van de gebeurtenissen in niet-standaardmappen en het verwijderen van items met behulp van de opdracht Gesprek negeren. Deze problemen zijn opgelost in de cumulatieve update van december 2010 voor Outlook 2010.

Methode GetProperty mislukt in de onlinemodus

Als u Microsoft Exchange 2010 in de onlinemodus gebruikt en u de GetProperty methode gebruikt om een eigenschap op te halen uit een niet-opgeslagen item, kan de methode mislukken. Dit komt door een wijziging in de manier waarop Exchange 2010 benoemde eigenschappen verwerkt. Outlook 2007 wordt ook beïnvloed. De huidige tijdelijke oplossingen zijn onder andere:

  • Outlook gebruiken in de cachemodus.
  • Zorg ervoor dat het item de status Opgeslagen heeft voordat u de GetProperty methode aanroept.

Het venster Inspector wordt mogelijk niet correct gesloten

Als u de GetVisibleCallback functie in Microsoft Visual Studio Tools for Microsoft Office (VSTO) implementeert, kan de gebruiker een controlevenster mogelijk niet correct sluiten. Dit probleem is opgelost in de cumulatieve update van februari 2011 voor Outlook 2010.

De gebeurtenis BeforeCheckNames vindt plaats op een ander tijdstip dan in Outlook 2007

In Outlook 2010 treedt de gebeurtenis BeforeCheckNames op nadat geadresseerden zijn opgelost in plaats van voordat ze zijn opgelost. Dit betekent dat het annuleren van de gebeurtenis geen effect heeft. Dit probleem is opgelost in de cumulatieve update van Outlook 2010 van februari 2011.

Weergavenobjectmodel komt mogelijk niet overeen met de werkelijke weergave in de gebruikersinterface

Er zijn scenario's waarin, als u programmatisch weergave-instellingen wijzigt of weergave-instellingen ophaalt, de instellingen in het objectmodel mogelijk niet overeenkomen met de werkelijke weergave-instellingen die outlook in de gebruikersinterface weergeeft. Er zijn verbeteringen aangebracht in de cumulatieve update van Outlook 2010 van februari 2011 om dit probleem op te lossen.

Bijlagen worden niet correct onderhouden wanneer u het venster Item invoegen gebruikt

Als u het Outlook-objectmodel gebruikt om bijlagen toe te voegen en te verwijderen, hebt u mogelijk een extra bijlage als een gebruiker een itembijlage invoegt met behulp van de opdracht Item invoegen. Dit komt door een fout in de manier waarop in het dialoogvenster alle bijlagen als verdacht worden behandeld, zelfs als ze niet verdacht zijn. Daarom worden extra bijlagen samen met het bericht opgeslagen. Dit probleem is opgelost in de cumulatieve update van februari 2010 voor Outlook 2010.

Kan geen itembijlagen invoegen met behulp van een POP/IMAP-account

Als u de Attachments.Add methode gebruikt om Outlook-itembijlagen toe te voegen met behulp van een POP/IMAP-account, mislukt de aanroep. Dit probleem is opgelost in de cumulatieve update van december 2010 voor Outlook 2010.

MailItem.Recipients.ResolveAll functie verwijdert geadresseerden uit het veld Aan

Als de gebruiker een onopgeloste geadresseerde toevoegt aan een bericht in de opstelmodus en vervolgens de Recipients.ResolveAll methode voor dat item wordt aangeroepen, worden de geadresseerden verwijderd. Er zijn geen plannen om dit gedrag te wijzigen.

De GetAssociatedAppointment methode mislukt voor een vergaderverzoek in de map Verzonden items

Als u een afspraak probeert op te halen uit een vergaderverzoek in de map Verzonden items, mislukt de oproep. Dit probleem is opgelost in de cumulatieve update van februari 2011 voor Outlook 2010.

Afspraakgegevens worden mogelijk niet bijgewerkt als er een controlevenster is geopend

Vanwege interne wijzigingen in de manier waarop Outlook 2010 afspraken verwerkt en in de cache opslaat, biedt het objectmodel mogelijk geen actuele informatie over uitzonderingen op afspraken als de bijbehorende afspraak in een controlevenster is geopend. Dit gedrag treedt zelfs op als u de verwijzing naar het item verwijdert en opnieuw ophaalt uit de store. Als u dit probleem wilt omzeilen, moet u ervoor zorgen dat het afspraakvenster is gesloten. Er zijn geen plannen om dit gedrag te wijzigen.

Als u probeert het mapobject op te halen uit een NavigationFolder object, wordt mogelijk het foutbericht 'Bewerking mislukt' weergegeven. Dit probleem treedt op met functies voor gedeelde agendamappen die nieuw zijn in Outlook 2010. Als u het NavigationFolder.Folder object opvraagt voordat outlook het heeft geïnitialiseerd, treedt dit probleem op. Deze initialisatie vindt niet standaard plaats. U kunt dit probleem omzeilen door eerst te verwijzen naar de standaardagendamap en de methode aan GetExplorer te roepen. Dit zorgt er indirect voor dat Outlook de gedeelde agenda's initialiseert. Het volgende voorbeeld van Outlook VBA-code illustreert dit probleem en de tijdelijke oplossing:

Sub GetCalendars()
  ' Work around
  Set oCalFolder = Session.GetDefaultFolder(olFolderCalendar)
  Set oCalExp = oCalFolder.GetExplorer

  Dim oModules As Outlook.CalendarModule
  Dim oMyCalendarGroup As Outlook.NavigationGroup
  Dim oPeopleNavGroup As Outlook.NavigationGroup
  Set oModules = ActiveExplorer.NavigationPane.Modules.GetNavigationModule(OlNavigationModuleType.olModuleCalendar)
  Set oMyCalendarGroup = oModules.NavigationGroups.GetDefaultNavigationGroup(OlGroupType.olMyFoldersGroup)
  Set oPeopleNavGroup = oModules.NavigationGroups.GetDefaultNavigationGroup(OlGroupType.olPeopleFoldersGroup)
  GetNavFolders oMyCalendarGroup
  GetNavFolders oPeopleNavGroup
End Sub

Private Sub GetNavFolders(ByVal obj As Outlook.NavigationGroup)
  Set oNavFolders = obj.NavigationFolders
  Dim oNavFolder As Outlook.NavigationFolder
  For Each oNavFolder In oNavFolders
    Debug.Print oNavFolder.DisplayName & "==>" & oNavFolder.Folder ' <-- this errors
  Next
End Sub