Marc Schwarz: Auf Excel Datei zugreifen...

Beitrag lesen

Hallo Philipp

Das klappte so tatsächlich! Aber leider nur gleich zu beginn. Nachdem ich nun den PC neugestartet habe (mehrmals) und ich die Seite wieder aufrufe, bleibt die Seite weiss. Es ertönt ein kurzes Pling, aber ohne Fehlermeldung. Die Seite reagiert dann nicht mehr.

Wenn ich eine andere Excel Datei öffne, funktioniert es. Auch wenn ich einige Arbeitsblätter der Datei lösche, klappt es.

Gibt es eine Möglichkeit, an die Fehlermeldung ranzukommen?

Gruss Marc

PS: Hier der Code

set excel = Server.CreateObject("Excel.Application")
set sheet = excel.workbooks.open("e:\xls\xls_4.xls")

'* START SETZEN DER MIKRO WERTE *'
set write_hed_mod = sheet.Worksheets("hed mod")
write_hed_mod.cells(745, 2).value = 5
write_hed_mod.cells(746, 2).value = 4
set write_hed_mod = nothing
'* ENDE SETZEN DER MIKRO WERTE *'

set hed_mod = sheet.Worksheets("hed mod")
Response.Write(hed_mod.cells(745, 2))
set hed_mod = nothing
set sheet = nothing
set excel = nothing

Halihallo Marc

Die Excel Datei ist ziemlich kompliziert mit mehreren Arbeitsblättern, Verweise über Arbeitsblätter hinweg und tausende von Formeln bei denen etwas Berrechnet wird. Genau dieses Endergebnis müsste ich haben. Aber wie gesagt, all diese Formeln werden ja bei einem normalen ODBC Zugriff nicht verarbeitet.

Nun ja. Um eine Excel-Datei zu verarbeiten dürfte wohl Excel am
besten sein. Und wie normal bei Microsoft lassen sie dir immer
irgendwelche Hintertürchen offen. Dieses Hintertürchen heisst OLE und
COM.

Etwas konkreter:

excelInstance = Server.CreateObject("Excel.Application")

Was man dann mit diesem excelInstance alles tun kann steht wohl alles
in der VBA-Dokumentation deines Excels (das macht nämlich (fast)
genau das selbe). Oder suche einfach nach "Excel OLE", da siehst du
dann ein paar Beispiele (wenn auch in anderen Sprachen, aber die
Klasse bleibt genau die gleiche).

Viele Grüsse

Philipp