Bekannte Probleme in Outlook 2010 bei verwendung des Objektmodells

Ursprüngliche KB-Nummer: 2265515

Zusammenfassung

In diesem Artikel werden die bekannten Probleme beschrieben, die bei der Verwendung des Microsoft Outlook 2010-Objektmodells auftreten können.

Ein Objekt kann nicht aus einem Prozess mit erhöhten Rechten erstellt werden Outlook.Application .

Sie können Outlook nicht automatisieren, indem Sie einen Prozess verwenden, der mit erhöhten Berechtigungen in Windows Vista, Windows 7 oder einem anderen Betriebssystem ausgeführt wird, das die Ausführung von Prozessen mit erhöhten Berechtigungen ermöglicht. Dies ist eine zugrunde liegende Einschränkung des COM. Sowohl Outlook als auch benutzerdefinierte Programme, die Outlook automatisieren, müssen auf der gleichen Integritätsebene ausgeführt werden.

Die BeforeItemMove- und BeforeFolderMove-Ereignisse treten nicht auf.

Es gibt mehrere Szenarien, in denen die BeforeItemMove Ereignisse und BeforeFolderMove nicht auftreten. Bekannte Szenarien umfassen das Löschen von Terminen aus der To-Do leiste, das Löschen von Besprechungen aus dem Kalender und To-Do Leiste, das Implementieren der Ereignisse in nicht standardmäßigen Ordnern und das Löschen von Elementen mithilfe des Befehls Unterhaltung ignorieren. Diese Probleme wurden im kumulativen Update von Dezember 2010 für Outlook 2010 behoben.

Fehler bei der GetProperty-Methode im Onlinemodus

Wenn Sie Microsoft Exchange 2010 im Onlinemodus verwenden und die GetProperty -Methode verwenden, um eine Eigenschaft aus einem nicht gespeicherten Element abzurufen, schlägt die Methode möglicherweise fehl. Dies liegt an einer Änderung in der Art und Weise, wie Exchange 2010 benannte Eigenschaften behandelt. Outlook 2007 ist ebenfalls betroffen. Die aktuellen Problemumgehungen umfassen Folgendes:

  • Verwenden Sie Outlook im Cachemodus.
  • Stellen Sie sicher, dass sich das Element in einem gespeicherten Zustand befindet, bevor Sie die GetProperty -Methode aufrufen.

Das Inspektorfenster wird möglicherweise nicht ordnungsgemäß geschlossen.

Wenn Sie die GetVisibleCallback Funktion in Microsoft Visual Studio-Tools für Microsoft Office (VSTO) implementieren, kann der Benutzer ein Inspektorfenster möglicherweise nicht ordnungsgemäß schließen. Dieses Problem wurde im kumulativen Update von Februar 2011 für Outlook 2010 behoben.

BeforeCheckNames-Ereignis tritt zu einem anderen Zeitpunkt ein als in Outlook 2007

In Outlook 2010 tritt das BeforeCheckNames-Ereignis auf, nachdem Empfänger aufgelöst wurden, anstatt vor der Auflösung. Dies bedeutet, dass das Abbrechen des Ereignisses keine Auswirkungen hat. Dieses Problem wurde im kumulativen Update von Outlook 2010 februar 2011 behoben.

Views-Objektmodell entspricht möglicherweise nicht der tatsächlichen Ansicht auf der Benutzeroberfläche.

Es gibt Szenarien, in denen beim programmgesteuerten Ändern von Ansichten oder Abrufen von Ansichtseinstellungen die Einstellungen im Objektmodell möglicherweise nicht den tatsächlichen Ansichtseinstellungen entsprechen, die Outlook auf der Benutzeroberfläche anzeigt. Im kumulativen Update von Outlook 2010 vom Februar 2011 wurden Verbesserungen vorgenommen, um dieses Problem zu beheben.

Anlagen werden nicht ordnungsgemäß verwaltet, wenn Sie das Fenster Element einfügen verwenden.

Wenn Sie das Outlook-Objektmodell zum Hinzufügen und Entfernen von Anlagen verwenden, haben Sie möglicherweise eine zusätzliche Anlage, wenn ein Benutzer eine Elementanlage mit dem Befehl Element einfügen einfügt. Dies liegt an einem Fehler in der Art und Weise, wie das Dialogfeld alle Anlagen als verdächtig behandelt, auch wenn sie nicht verdächtig sind. Daher werden zusätzliche Anlagen zusammen mit der Nachricht gespeichert. Dieses Problem wurde im kumulativen Update von Februar 2010 für Outlook 2010 behoben.

Elementanlagen können nicht mithilfe eines POP/IMAP-Kontos eingefügt werden

Wenn Sie die Attachments.Add -Methode verwenden, um Outlook-Elementanlagen mithilfe eines POP/IMAP-Kontos hinzuzufügen, schlägt der Aufruf fehl. Dieses Problem wurde im kumulativen Update von Dezember 2010 für Outlook 2010 behoben.

MailItem.Recipients.ResolveAll -Funktion entfernt Empfänger aus dem Feld An

Wenn der Benutzer einer Nachricht im Verfassenmodus einen nicht aufgelösten Empfänger hinzufügt und dann die Recipients.ResolveAll -Methode für dieses Element aufgerufen wird, werden die Empfänger entfernt. Es gibt keine Pläne, dieses Verhalten zu ändern.

Die GetAssociatedAppointment Methode schlägt für eine Besprechungsanfrage im Ordner "Gesendete Elemente" fehl.

Wenn Sie versuchen, einen Termin aus einer Besprechungsanfrage im Ordner Gesendete Elemente abzurufen, schlägt der Anruf fehl. Dieses Problem wurde im kumulativen Update von Februar 2011 für Outlook 2010 behoben.

Termindaten werden möglicherweise nicht aktualisiert, wenn ein Inspektorfenster geöffnet ist

Aufgrund interner Änderungen in der Art und Weise, wie Outlook 2010 Termine verarbeitet und zwischenspeichert, stellt das Objektmodell möglicherweise keine aktuellen Informationen zu Ausnahmen von Terminen bereit, wenn der entsprechende Termin in einem Inspektorfenster geöffnet ist. Dieses Verhalten tritt auch dann auf, wenn Sie den Verweis aufheben und das Element erneut aus dem Speicher abrufen. Um dieses Problem zu umgehen, stellen Sie sicher, dass das Terminfenster geschlossen ist. Es gibt keine Pläne, dieses Verhalten zu ändern.

Wenn Sie versuchen, das Folder-Objekt aus einem NavigationFolder Objekt abzurufen, erhalten Sie möglicherweise die Fehlermeldung "Vorgang fehlgeschlagen". Dieses Problem tritt bei features für freigegebene Kalenderordner auf, die in Outlook 2010 neu sind. Wenn Sie das NavigationFolder.Folder Objekt abrufen, bevor Outlook es initialisiert hat, tritt dieses Problem auf. Diese Initialisierung erfolgt nicht standardmäßig. Um dieses Problem zu umgehen, verweisen Sie zuerst auf den Standardkalenderordner, und rufen Sie die -Methode auf GetExplorer . Dies führt indirekt dazu, dass Outlook die freigegebenen Kalender initialisiert. Das folgende Outlook VBA-Codebeispiel veranschaulicht dieses Problem und die Problemumgehung:

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