Bekende problemen in Outlook 2010 bij gebruik van het objectmodel

Oorspronkelijk KB-nummer: 2265515

Samenvatting

Dit artikel beschrijft de bekende problemen die kunnen optreden wanneer u het objectmodel van Microsoft Outlook 2010 gebruikt.

Kan Outlook.Application object niet maken vanuit een verhoogd proces

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

De gebeurtenissen BeforeItemMove en BeforeFolderMove komen niet voor.

Er zijn meerdere scenario's waarin de BeforeItemMove- en BeforeFolderMove-gebeurtenissen niet plaatsvinden. Bekende scenario's omvatten het verwijderen van afspraken uit de Takenbalk, het verwijderen van vergaderingen uit de agenda en de Takenbalk, het implementeren van de gebeurtenissen in niet-standaard mappen, en het verwijderen van items met behulp van de Conversatie negeren-opdracht. Deze problemen zijn opgelost in de cumulatieve update van december 2010 voor Outlook 2010.

GetProperty-methode mislukt in de onlinemodus

Als je Microsoft Exchange 2010 in online modus gebruikt en je gebruikt de GetProperty-methode om een eigenschap op te halen van een niet-opgeslagen item, kan het zijn dat de methode faalt. Dit komt door een wijziging in de manier waarop Exchange 2010 benoemde eigenschappen verwerkt. Outlook 2007 wordt ook beïnvloed. De huidige tijdelijke oplossingen omvatten het volgende:

  • Gebruik Outlook in de offline modus.
  • Zorg ervoor dat het item de status Opgeslagen heeft voordat u de GetProperty methode aanroept.

Het Inspectorscherm sluit mogelijk niet correct.

Als u de GetVisibleCallback functie implementeert in Microsoft Visual Studio Tools voor Microsoft Office (VSTO), kan het zijn dat de gebruiker een inspector-venster niet correct kan sluiten. Dit probleem is opgelost in de cumulatieve update van februari 2011 voor Outlook 2010.

Het BeforeCheckNames-evenement vindt plaats op een ander tijdstip dan het plaatsvindt in Outlook 2007.

In Outlook 2010 vindt het BeforeCheckNames-evenement plaats nadat de ontvangers zijn opgelost in plaats van voordat ze worden opgelost. Dit betekent dat het annuleren van het evenement geen effect heeft. Dit probleem is opgelost in de cumulatieve update van Outlook 2010 februari 2011.

Het weergave-objectmodel komt mogelijk niet overeen met de werkelijke weergave in de gebruikersinterface.

Er zijn scenario's waarbij, als je programmaticaal weergaven wijzigt of weergave-instellingen ophaalt, de instellingen in het objectmodel mogelijk niet overeenkomen met de daadwerkelijke weergave-instellingen die Outlook in de gebruikersinterface weergeeft. Er zijn verbeteringen aangebracht in de cumulatieve update van Outlook 2010 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 bug in de manier waarop het dialoogvenster alle bijlagen als verdacht beschouwt, zelfs als ze dat niet zijn. Daarom worden extra bijlagen samen met het bericht opgeslagen. Dit probleem is opgelost in de cumulatieve update van februari 2010 voor Outlook 2010.

Het is niet mogelijk om itembijlagen in te voegen met 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 de functie verwijdert geadresseerden uit het veld Aan

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

De GetAssociatedAppointment methode mislukt voor een vergaderverzoek in de Verzonden Items-map

Als je probeert een afspraak 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 up-to-datumgegevens over uitzonderingen op afspraken als de bijbehorende afspraak is geopend in een inspectorvenster. Dit gedrag treedt zelfs op als u de verwijzing verwijdert en het item 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 Map-object van een NavigationFolder-object te verkrijgen, kunt u een foutmelding "Operatie mislukt" ontvangen. Dit probleem treedt op bij gedeelde agenda-mapfuncties die nieuw zijn in Outlook 2010. Het ophalen van het NavigationFolder.Folder object voordat Outlook is geïnitialiseerd, veroorzaakt dit probleem. Deze initialisatie vindt niet standaard plaats. Als u dit probleem wilt omzeilen, verwijst u eerst naar de standaardmap van de agenda en roept u de GetExplorer methode aan. Dit zorgt er indirect voor dat Outlook de gedeelde agenda's initialiseert. Het volgende Outlook VBA-codevoorbeeld illustreert dit probleem en de 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