InvalidCastException Microsoft.Office.Interop.Outlook

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von tragl.

    InvalidCastException Microsoft.Office.Interop.Outlook

    Hallo zusammen.

    Ich lass' über mein Programm u.A. auch Mails über Outlook versenden. Das klappt auch überall, nur an einem PC will er irgendwie nicht.
    Zeile 662 entspricht in dem Snippet hier Zeile 3.
    Hat jemand eine Idee?

    Quellcode

    1. System.InvalidCastException: Das COM-Objekt des Typs "Microsoft.Office.Interop.Outlook.ApplicationClass" kann nicht in den Schnittstellentyp "Microsoft.Office.Interop.Outlook._Application" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{00063001-0000-0000-C000-000000000046}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Element nicht gefunden. (Ausnahme von HRESULT: 0x8002802B (TYPE_E_ELEMENTNOTFOUND)).
    2. bei System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)
    3. bei Microsoft.Office.Interop.Outlook.ApplicationClass.CreateItem(OlItemType ItemType)
    4. bei TraglHelpers.Office.OutlookSendMail(String AN, String Betreff, String Anrede, String Text1, String Text2, String Signatur, Boolean Automail, String Anhang, String CC, List`1 Anhaenge) in C:\Users\dennis.hornickel\OneDrive\VSCE\eigene Projekte\Helferlein\TraglHelpers\Office.vb:Zeile 662.


    VB.NET-Quellcode

    1. ''' <summary> verschickt eine E-Mail Optional mit Anhang, Optional mit CC-Empfänger über Microsoft Outlook </summary>
    2. Public Sub OutlookSendMail(AN As String, Betreff As String, Anrede As String, Text1 As String, Text2 As String, Signatur As String, Automail As Boolean, Optional Anhang As String = "", Optional CC As String = "", Optional Anhaenge As List(Of String) = Nothing)
    3. Dim olApp As New Outlook.Application
    4. Dim mail = DirectCast(olApp.CreateItem(Outlook.OlItemType.olMailItem), Outlook.MailItem)
    5. With mail
    6. .To = AN
    7. If Not CC = "" Then .CC = CC
    8. .Subject = Betreff
    9. .HTMLBody = $"<font face=calibri>{Anrede}<BR><BR>{Text1}<BR><BR>{Text2}<BR><BR>{Signatur}</font>"
    10. If Not Anhang = "" Then .Attachments.Add(Anhang)
    11. If Anhaenge IsNot Nothing Then
    12. For Each att In Anhaenge
    13. .Attachments.Add(att)
    14. Next
    15. End If
    16. If Automail Then
    17. If Not AN = "" Then
    18. .Send()
    19. Else
    20. .Display()
    21. End If
    22. Else
    23. .Display()
    24. End If
    25. End With
    26. End Sub
    Bilder
    • Screenshot 2022-08-22 140701.PNG.jpg

      68,17 kB, 396×377, 92 mal angesehen
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:

    HenryV schrieb:

    Hast du schon eine Schnellreparatur von Office durchgeführt?
    Das hat bei uns in nahezu allen Fällen geholfen. Ansonsten Outlook Neuinstallation. Der Fehler ist ein Problem von Windows/Outlook selbst und nicht per Code lösbar. Ggf. 64 Bit Version ausprobieren. Das ganze kann von PC zu Pc anders sein.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Danke, dann bin ich schonmal erleichtert, dass es nicht an meinem Code liegt. Ich geb's mal an die IT weiter, dann sollen die das auf dem Rechner mal reparieren. :thumbup:
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup: