Laden...

Laufzeitfehler in JavaScript: Automatisierungsserver kann Objekt nicht erstellen.

Erstellt von GPuffe vor 6 Jahren Letzter Beitrag vor 6 Jahren 6.007 Views
G
GPuffe Themenstarter:in
11 Beiträge seit 2009
vor 6 Jahren
Laufzeitfehler in JavaScript: Automatisierungsserver kann Objekt nicht erstellen.

Hallo,
diese Fehlermeldung wurde sicher schon einige male hier abgehandelt. Aber ich bekomme diesen Fehler einfach nicht in Griff. Ich programmiere ASP.NET mit Visual Studio 2012, und wir haben hier den IE 11 im Einsatz.
Ich möchte nun mit Java-Script einen Excel-Export auf dem Client durchführen.
Leider scheitere ich schon mit obiger Fehlermeldung bei der Erzeugung eines Excel-Objectes:


function ExcelExport() {
    var objXL = new ActiveXObject("Excel.Application");
    window.alert("Hier ist das Script");
}

Bei einem anderen Object ("Scripting.FileSystemObject") bekomme ich den gleichen Fehler.
Die Einstellungen für ActiveX habe ich fürs Intranet so vorgenommen. Könnte da noch was fehlen?
Bei älteren Anwendungen, welche ich mit Visual Studio 2010 und VBS erstellt habe, funktioniert der Excel-Export.
Wer hat da eine Idee?

16.807 Beiträge seit 2008
vor 6 Jahren

Active X sind (extrem) unsichere Scripte und werden vom Browser auch so eingestuft.
Gott sei dank sind sie auch Geschichte und werden in neuen Browsern nicht mehr unterstützt.

Im IE11 muss man aktiv die Einstellung "unsichere Scripte erlauben" setzen.

Warum exportierst Du das Excel nicht ordentlich mit einer Server Funktionalität, zB. mit OpenXML?
PS: auch Deine ASP.NET Version, die Du einsetzt, ist schon sehr veraltet.

G
GPuffe Themenstarter:in
11 Beiträge seit 2009
vor 6 Jahren

Hallo Abt,
eine Einstellung "unsichere Scripte erlauben" kann ich nicht finden. Ich habe unter ActiveX alles aktiv geschalten außer "Antischadsoftware bei ActiveX..." und bei "Download von nicht signierten ActiveX...", sowie "Videos und Animationen...". Ich möchte ja auch Daten, welche ich von einer Datenbank (SQL-Server) ziehe in eine Excel-Vorlage einfügen. Also muss ich spezielle Zeilen und Spalten ansprechen können und diese auch formatieren. Geht das mit einer Server Funktionalität? OpenXML bzw. ähnliches kenn ich nicht.

16.807 Beiträge seit 2008
vor 6 Jahren

Klar geht das; musst das halt über ASP.NET umsetzen und nicht auf dem Client.

ActiveX jedenfalls jetzt noch zu verwenden halte ich für fragwürdig.
Das Ende des IE11 ist mit dem Ablauf des grundlegenden Supports 2020 auch nicht mehr soo weit weg.

Die Einstellung könnte auch irgendwie heißen "Allow Active Content" oder sowas.
Und man muss glaub den Rechner neustarten.

Woran der Fehler aber konkret liegt, kann ich nicht sagen.
Wenn man nach Automatisierungsserver kann Objekt nicht erstellen. googlet kann es hier wohl tausende verschiedene Ursachen haben.

G
GPuffe Themenstarter:in
11 Beiträge seit 2009
vor 6 Jahren

Hallo Abt,
auf dem Client macht deshalb Sinn, da der User die Datei auf seinem eignen PC sehen und auch abspeichern möchte, um sie gegebenenfalls per Mail zu versenden. Auf den Server haben die User auch keinen Zugriff, was auch so bleiben sollte.

M
184 Beiträge seit 2012
vor 6 Jahren
  1. der Client sendet eine Anfrage an den HTTP-Server (IIS, ASP.NET)
  2. der Server baut eine Verbindung zur SQL-Datenbank auf und erzeugt das Excel-File mitsamt formatierungen... Der Server verwendet zum Erzeugen des Excel-Files ggf. openXML.
  3. der Server liefert das fertige Excel-File als Ergebnis der Anfrage zurück.
  4. der Client kann diese Datei jetzt abspeichern und/oder öffnen.

Das wäre wohl der saubere weg.

16.807 Beiträge seit 2008
vor 6 Jahren

GPuffe, verstehe die Anforderungen.
Hilft aber nichts, wenn der Browser aus Sicherheitsgründen eben gewisse Features nicht mehr unterstützt, da sie missbraucht wurden oder einfach mittlerweile Lücken darstellen.
Da musst Du evtl. einfach neue Wege suchen. ActiveX hat jedenfalls keine Zukunft.

G
GPuffe Themenstarter:in
11 Beiträge seit 2009
vor 6 Jahren

Hallo Abt,
welche Wege wären da das. Wie sollte man so etwas umsetzen, damit es auch ein wenig zukunftstauglich ist?

2.207 Beiträge seit 2011
vor 6 Jahren

Hallo GPuffe,

"OpenXML" und ein möglicher Weg wurden dir von MorphieX schon genannt.

Gruss

Coffeebean

G
GPuffe Themenstarter:in
11 Beiträge seit 2009
vor 6 Jahren

Hallo,
dann werde ich mich mal ein wenig mit openXML beschäftigen und sehen ob das das richtige für mein Problem ist.
Schon mal vielen Dank an alle Antwortenden.