none
System.Runtime.InteropServices.COMException: "Ausnahme von HRESULT: 0x800AC472" RRS feed

  • Frage

  • Hallo, der Jürgen hat schon wieder einmal ein großes Problem: In meiner Anwendung übertrage ich Daten aus einem

    2-dimesionalen Array in eine Excel-Tabelle . Dazu öffne ich eine vorbereitete Excel-Mappe Mit einer Schleife übertrage ich dann die Daten des Arrays in die Tabelle. Das hat lange Zeit ordentlich geklappt, aber bei der Weiterentwicklung der Anwendung kam plötzlich am Beginn der Schleife die Fehlermeldung mit der unbehandelten Ausnahme (siehe Betreff) .

    Meine Frage: Wie kann ich die Ausnahme behandeln und beseitigen ? 

    Ist sicher etwas kniffliger als meine bisherigen dummen Fragen. Mal sehen, ob mir jemand helfen kann. Weiter unten etwas Quelltext: In der Zeile nach dem Schleifenkopf tritt der Ausnahmefehler auf (sh. screenshot)

    MfG J. Schubert

    Samstag, 12. Oktober 2019 10:01

Alle Antworten

  • Hallo Jürgen,

    ist sichergestellt, dass auf dem PC Excel nicht läuft, während deine Anwendung arbeitet?

    Arbeitest Du ggfs. mit mehreren Threads, so dass dein Code mehrfach gleichzeitig ausgeführt wird?

    So ganz generell würde ich eigentlich in so gut wie keinem Fall mit Excel Automation arbeiten, sondern mir eine Library suchen, die dasselbe (oder mehr) bietet aber nicht so fehleranfällig und insbesondere in Server- und/oder Dienstanwendungen erhebliche Probleme bereitet.

    Syncfusion bietet mit seinem .NET Excel Framework (dass man unter Umständen ggfs. auch über COM ansprechen kann, falls benötigt) eine umfangreiche Library, die im Rahmen der Syncfusion Community Edition auch kostenlos erhältlich ist (wenn man die Bedingungen für die Community Edition erfüllt, diese sind sehr ähnlich zu denen der Visual Studio Community Edition).


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Samstag, 12. Oktober 2019 10:12
    Moderator
  • Hallo Stefan,

    erst einmal danke für die schnelle Antwort. Aber die Excel -Funktion brauche ich, da daraus am Ende eine pdf-Datei erstellt wird, die der Nutzer erhält. Es sind in der Excel -Datei 19 Tabellen und Tortendiagramme vorbereitet, die mit den einkopierten Daten sichtbar werden. Wenn ich das alles mit VB neu programmieren wollte, bin ich überfordert und es würde sicher ewig dauern. 

    Meine letzte Frage wäre, wie und ob überhaupt man solche "unbehandelte Ausnahmen" behandeln kann.

    Nochmals Dank von Jürgen

    Samstag, 12. Oktober 2019 10:29
  • Ach so, noch etwas zu deiner Rückfrage:

    Mit Programmstart läuft Excel zunächst nicht, aber mit dem Aufruf der vorbereiteten Excel-Mappe startet es natürlich. Mehrere Threads habe ich aktiv nicht organisiert

    Samstag, 12. Oktober 2019 10:32
  • Hallo Jürgen,

    es gibt wohl viele mögliche Ursachen für diesen Fehler. Daher kann ich dir da leider im Moment nur empfehlen, dich dort durchzuarbeiten und zu schauen, ob eines der beschriebenen Szenarien bei dir ggfs. auch vorkommt.

      https://www.google.de/search?q=800ac472

    Ggfs. ist dieser Thread hilfreich:

      writing data from C# to Excel interrupted by opening Excel Window

    Betrifft zwar C# zu Excel, das Grundproblem ist aber eigentlich immer dasselbe. Excel macht was und Du bekommst den Fehler.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Samstag, 12. Oktober 2019 11:36
    Moderator
  • Nochmals danke, Stefan,

    werde versuchen mich durchzuarbeiten. Habe auch schon eine neue Idee, das eventuell zu umgehen, denn das Auslagern meines Datenfeldes in eine sequentielle Datei läuft erfolgreich. Jetzt werde ich statt der direkten Übergabe der Daten in der laufenden Anwendung diese sequentiell Auslagern und dann von Excel nach dem Start der empfangenden Datei sequentiell wieder einlesen. Das könnte als Umweg funktionieren.

    Mal sehen Tschüs für heute

    Samstag, 12. Oktober 2019 11:54