Microsoft.Office.Interop.Excel-Verweis unwirksam

  • VB.NET
  • .NET 7–8

Es gibt 59 Antworten in diesem Thema. Der letzte Beitrag () ist von Haudruferzappeltnoch.

    Zwar kein "Minimalprojekt", aber das ja noch überschaubare Programm habe ich nochmal - gezippt - angehängt mit der Bitte um Hilfe.
    Es sind immer dieselben Fehler - entweder die Namensverdoppelung (trotz Änderung des Namespace auf "Global...") oder zuletzt immer
    wieder Programm-Absturz beim Versuch, in der Formular-Entwurfsansicht das Datagridview mit dem Dataset (bzw. bindingsource) als Datenquelle
    zu verbinden. Vielleicht ergibt sich ja auf einem anderen Rechner ein anderes Bild?
    Dateien
    • E.7z

      (8,29 kB, 39 mal heruntergeladen, zuletzt: )

    woofy49 schrieb:

    dieselben Fehler
    Plural ja, aber deswegen ist es doch wichtig, dass du ein Minimalprojekt machst.
    Ich habe ja angemerkt, dass der Fehler (Singular) bei mir nach dem Vorschlag von loeffel verschwunden ist. An der Stelle musst du erstmal ansetzen. Wie kann das bei dir anders sein?
    Auf der anderen Seite kann es gut sein, dass ein Minimalprojekt diesen Fehler nicht aufweist und von da aus wirst du selbst vermutlich den Schritt finden der hakt.

    Es ist doch ganz offensichtlich das wir hier viele verschiedene Dinge angucken und da wir uns auf Seite 3 befinden ohne Lösung, muss das aufhören. Wie schon gesagt ich kann es nicht erraten.
    Es tut mir leid, lieber "Haudruf...", dass ich Deine/Eure Geduld derart strapaziere!
    Anbei das Minimalprojekt, bestehend aus Deinem Modell "WinFormsNetVB", welches bekanntermaßen mit 1 Button auskommt, der die Excel-Tabelle lädt.
    Dieses "Urprogramm" läuft hier einwandfrei. Ich habe lediglich einen Button "Ende", einen Button zum Lesen der im Dataset angesiedelten Tabelle, ein
    DataTable samt dreizeiliger Tabelle ("Eingabe Maske") und ein Datagridview auf die Entwurfsansicht gezogen. Code hierzu gibt es noch keinen
    (außer den "nackten" Button-Subs).
    In dem Moment, wo ich auf den kleinen Pfeil am Ende der Zeile "Datenquelle auswählen (Voreinstellung "none" klicke, um das Pop-Up-Menü zu öffnen,
    stürzt das Programm ab. Dieses Verhalten hatte ich vielfach in den vergangenen Wochen, weshalb ich das "Miniprojekt" nicht weiter verfolgt hatte,
    da es zu einer Eingabe jedweden Codes überhaupt nicht kommen konnte.
    Nicht irritiert sein: Ich habe, um möglichst viel von der Fehlermeldung mitzubekommen, die Entwurfsansicht auf ein Minimum verkleinert, sie
    erscheint nur am oberen Bildrand.
    Bilder
    • Fehler1.jpg

      485,03 kB, 1.920×1.080, 47 mal angesehen
    • MiniCode.jpg

      376,45 kB, 1.920×1.080, 48 mal angesehen
    Ich hab Geduld ohne Ende, nur weiß ich nicht ob ich das Know-How hab dir zu helfen.

    Ist jetzt der dritte Fehler, oder?
    Also ein Minimalprojekt sollte die Fehleranzahl reduzieren, nicht erhöhen. Deswegen heißt es minimal, man versucht den Fehler zu isolieren. Oder hat sich das mit Excel und DataSet Namespace nun erledigt erstmal?

    Btw. ist das WinFormsNetVb von Vapo, nich von mir

    Das Projekt was ich angehangen hab, ist die fulminante Kombination aus einem konfliktfreien DataSet, Vapos Button der Excel kann,
    einem angeschlossenen DataGridView und einem Button der auch Daten in dem DataSet machen kann.
    Ich benutze diese Dropdownliste, die du da hattest, normalerweise zwar nicht, aber damit hab ich diesmal die BindingSource ausgewählt, so wie es sein soll.

    Auf dem Weg dahin konnte ich keinen der Fehlerfälle reproduzieren. Es ging einfach...
    Und ich weiß auch nicht was an deinen Projekten so anders abläuft, dass diese Basics nicht funktionieren.
    Also nu versuchs nochmal damit, wenn das auch kaputt geht, dann hab ich da keine Idee zu...
    Dateien
    Hallo "Haudruf...", ich verstehe die Welt nicht mehr: Dein Programm läuft hier völlig einwandfrei, es ist fast nicht
    zu glauben. Ich habe versucht, Unterschiede zu meinen Versuchen finden. Lediglich der Namespace ("Global....") ist
    in Deinem Modell nicht enthalten (soweit ich erkennen kann), ansonsten ähnelt (natürlich außer den Bezeichnungen) alles
    den Vorgängerversionen.
    Wie auch immer - in jedem Fall danke ich von ganzem Herzen für Geduld und vor allem Deine Mühe. Ich sehe wieder Land
    und kann auf Deinem Modell aufbauen, auch wenn ich nicht erkannt habe, was bei mir anders (falsch) lief. Danke danke !!!
    zu früh gefreut :(
    Ich versuche nach wie vor zu verstehen, welche Fehler ich gemacht habe. Deswegen x-ter Versuch, durch ein Mini-Programm diesen auf die Spur zu kommen.
    Habe als Ideengeber Dein (Haudruf...) Musterprogramm "nachgebaut", Projektname "MiniMini". Und jetzt fängt es von vorne an, dass VS die MS.Excel-
    Einbindung nicht kapiert. Dabei ist im Projektmappenordner der gesamte Verzweigungsbaum MS->Interop etc. aufgeführt, auch ausdrücklich in der
    Namespace-Anzeige.
    Vielleicht kannst Du das Programm auf Deiner Maschine ansehen und den Einbinde-Fehler finden, den ich nicht erkennen kann:
    Bilder
    • screenk.jpg

      215,6 kB, 1.920×1.080, 45 mal angesehen
    Dateien
    • MiniMini.7z

      (9,08 kB, 41 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „woofy49“ ()

    allein die Bezeichnis ist schon falsch: Interop.Microsoft.Office.Interop.Excel
    die echte heißt Microsoft.Office.Interop.Excel

    siehe Folgeposts :S

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Argh. Da war ich in Gedanken beim Namespace :S
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Erster Fehler gefunden: Es war die fasche Excel-Bibliothek geladen. Mit MS.Excel 16.0 wird unter Abhängigkeiten (.COM) die
    korrekte Bibliothek "Interop.Microsoft.Office.Interop.Excel" angezeigt. Und prompt wird im Code auch nichts mehrangemeckert
    (bisher). Danke für Eure Gedanken, die mich immer wieder schrittweise weiterbringen.

    --------------------

    Nächstes Problem: Habe in Form.Entwurf ein DGV an Bindungssource gekoppelt. Die Spaltennamen werden auch angezeigt, aber die Daten nicht. Offenbar bindet das DatGridView nicht korrekt an die BindingSource, welche die Koppelung zwischen Dataset und DataTable herstellen sollte. Könnte evtl. die folgende Warnung im Dataset-Designer hierfür verantwortlich sein (bei MS ist zu lesen, dass diese Art der Serialisierung obsolet sei)?

    SYSLIB0051
    "Protected Overloads Sub New(info As SerializationInfo, context As StreamingContext, ConstructSchema As Boolean)"
    ist veraltet: "This API supports obsolete formatter-based serialization. It should not be called or extended by
    application code.".

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „woofy49“ ()

    Stecke - trotz (gefühlt) ca. 30 Versuchen des Nachbaus Eures "WinFormsDataSetNET6" - in einer Sackgasse fest:
    Entweder stürzt VS beim Anklicken des Drop-Down-Menüs (am rechten Oberrand des DGV), mittels dessen an die BindingSource bzw. das Dataset angebunden werden soll, ab; oder aber die Anbindung gelingt teilweise, indem die in der DataTable formulierten Header-Texte, NICHT jedoch Daten in das DGV übernommen werden. Entsprechend leer ist die gespeicherte Datei, welche mittels DataSet.WriteXML angelegt wird (gespeichert wird nur ein leeres Gerüst).
    Der einzige Unterschied, der mir aufgefallen ist, findet sich in der Form-Entwurfsansicht: In WinFormsDataSetNet6 ist am Unterrand neben der "BindingSource1" auch das DataSet als "DS1" zu sehen. Dies ist bei mir nicht der Fall.
    Wie komme ich der Unfähigkeit korrekter Anbindung des DGV an das Dataset weiter auf die Spur? Für weitere Hilfe wäre ich äußerst dankbar (Offenbar scheint der oben genannte Fehlercode SYSLIB0051 keine Ideen ausgelöst zu haben, zumindest gab es hierauf keinen Kommentar).
    Dazu kommt es leider erst gar nicht. Ich habe ein weiteres Mal neu angefangen - Deinem Vorschlag folgend mit .net 7.
    Habe vor irgendeinem Control lediglich ein Dataset ("Hinzufügen") sowie eine DataTable aingefügt, den Namespace auf "Global .Projektname" ergänzt, eine BindingSource angeklickt und versucht, ein DGV im oberen Eck anzuklicken. Das Dropdown-Menü hatte sich noch nicht geöffnet, geschweige denn dass die Möglichkeit einer Auswahl angeboten wurde: VS crasht schon wieder :(

    Kommt die Maschine durch das Anklicken ggf. an die Grenze des Arbeitsspeichers? Könnte ich dies irgendwie checken? Wobei ich mir nicht vorstellen kann, dass durch einen Click auf die DGV-Ecke besonders viel Arbeitsleistung vom System erbracht werden muss.....
    Bilder
    • ScreenShotA.jpg

      226,07 kB, 1.920×1.080, 18 mal angesehen
    Was hast du denn vorher für ein Framework benutzt? Dein Thread ist mit NET 7-8 beschildert, ob NET7 oder NET8 kommt aufs selbe raus. Mein Beispiel war auch NET 7
    Der Unterschied zu NET FX ist, das es dort etwas anders gelöst war.

    Hast du das mit der DataSet Instanz denn erst probiert? Davon les ich jetz nix bei dir.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Haudruferzappeltnoch“ ()

    Net 7, Net 8 - alles ausprobiert, der letzte Fehler (Crash bei Versuch der Anbindung des DGV an die BindingSource) macht das Fortschreiten unmöglich. Ich habe bereits VS neu installiert, dachte, dass vielleicht irgendetwas Grundsätzliches zerstört ist. Hat aber auch nicht geholfen. Dabei bin ich mir sicher, dass unter VS 2010 das reibungslos funktionierte. Habe dies auf einem alten Rechner getestet und das gesamte Projekt per Stick mit VS 2022 geladen. Nach einigem "Ummodeln" schien das auch zu funktionieren, dann aber war die Entwurfsansicht von Form1 nicht mehr zu laden (habe alle Tricks, die im Netz zu finden sind, versucht - ohne Erfolg). Leider nimmt Euer Forum keine mp4-Formate an, denn ich hatte ein simples Modell gefilmt, nur ein Dataset mit einer Datatable gebaut, keinerlei Veränderungen hieran vorgenommen, keinen eigenen Code geschrieben, nur den Namespace auf Global .Projektnamen hinzugefügt. Dann crashte es wieder beim Anklicken der Datenanbindung im DGV. Ich bin nicht nur ratlos, sondern nach vielen verlorenen Tagen auch gefrustet.
    Ein Testprojekt in WinForms, VB.NET, .NET 7
    Enthält ein DataSet, ein DGV, das DGV ist über eine BindingSource an die eine DataTable des DataSets angeschlossen. Der Button erzeugt einige Zeilen in der DataTable, die dann umgehend im DGV angezeigt werden.
    Klappt das Projekt bei Dir?
    Dateien
    • WinFormsNetVB.zip

      (108,29 kB, 9 mal heruntergeladen, zuletzt: )
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.