Ich versuche, ein Programm zu machen, das neue Outlook 2007-Nachricht öffnen würde.
Ich habe von der COM-Registerkarte Microsoft Outlook 12.0 ObjectLibrary referenziert.
Diese Artikel wurden in VS in Referenzen angezeigt:
%Vor%Nun versuche ich den folgenden Code aufzurufen:
%Vor%wo OutlookApp == Microsoft.Office.Interop.Outlook-Namespace.
Beim Aufruf der zweiten Zeile der Auflistung bekomme ich diese Ausnahme: (InvalidCastException)
Das COM-Objekt vom Typ kann nicht umgewandelt werden 'Microsoft.Office.Interop.Outlook.ApplicationClass' zum Schnittstellentyp 'Microsoft.Office.Interop.Outlook._Application'. Dieser Vorgang ist fehlgeschlagen, da der QueryInterface Aufruf auf der COM Komponente für die Schnittstelle mit IID "{00063001-0000-0000-C000-000000000046}" aufgrund des folgenden Fehlers fehlgeschlagen: Bibliothek nicht registriert. (Ausnahme von HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).
Dieser Code funktionierte für Outlook 2003 auf meiner anderen Station gut.
Ich werde dankbar sein für Ideen, wie man es löst.
Dies kann auch passieren, wenn Sie eine Office 2013-Installation deinstalliert haben und zu Office 2010 zurückkehren. Möglicherweise sind noch einige Registrierungsschlüssel und DLLs vorhanden, die dazu führen, dass die Office-Anwendung die falsche (n) DLL (s) lädt.
Hier ist der Fix: Ссылка
Office ist auf diesem Computer nicht ordnungsgemäß installiert. Sie können dies überprüfen, indem Sie mit Regedit.exe zu HKEY_CLASSES_ROOT\Interface\{00063001-0000-0000-C000-000000000046}\TypeLib
navigieren, um die GUID der Typbibliothek zu überprüfen (sollte {00062FFF-0000-0000-C000-000000000046} sein), und dann zu HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}
, um zu überprüfen, ob die Typbibliothek tatsächlich korrekt ist registriert, unter Verwendung der korrekten Versionsnummer der Typbibliothek. Der letzte Teil sollte das Problem sein.
Wenn der Zielcomputer eine 64-Bit-Version von Windows ausführt, versuchen Sie, das Projekt + Eigenschaften, Build, Plattformziel auf x86 zu setzen.
Wenn Sie versuchen, von Visual Studio aus auf Outlook zuzugreifen, erhalten Sie folgende Fehlermeldung:
TF400424: Senden an Microsoft Outlook fehlgeschlagen: COM-Objekt vom Typ 'Microsoft.Office.Interop.Outlook.ApplicationClass' konnte nicht in den Schnittstellentyp 'Microsoft.Office.Interop.Outlook._Application' umgewandelt werden. Diese Operation ist fehlgeschlagen, weil der QueryInterface-Aufruf der COM-Komponente für die Schnittstelle mit IID '{00063001-0000-0000-C000-000000000046}' aufgrund des folgenden Fehlers fehlgeschlagen ist: Bibliothek nicht registriert. (Ausnahme von HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).
Gehen Sie folgendermaßen vor:
Outlook 2007 == & gt; 9.3
Outlook 2010 == & gt; 9.4
Outlook 2013 == & gt; 9.5
Referenz: Ссылка
Tags und Links c# interop com office-interop outlook-2007