ASP bzw. VBScript

Hallo,

ich habe hier eine SQL-Datenbank (u.a. steht darin der Vorname, Nachname und Abteilung). Mit Hilfe von ASP oder VBScript möchte ich die Daten der SQL-DB in eine Excel-Datei exportieren. Das ganze soll sehr benutzerfreundlich gestaltet werden, d. h. der Benuzer klickt beispielsweise auf den Button „Export“ und eine neue Excel-Datei wird geöffnet und der Benutzer muss nur noch eingeben, wo die Datei gespeichert werden soll. Auf dem Server selbst ist kein Excel. d. h. die Daten werden nur vom Server geholt und der Rest muss auf der Client-Seite passieren.
Ich bin Anfänger bei ASP und VBScript, daher habe ich keine Idee, wo der Fehler sein könnte
Das habe ich bis jetzt, aber irgendwo sind noch Fehler:

Excel

<!–
'Variablen deklarieren
'Anwendung erstellen
dim xl As Excel.Application
'Arbeitsmappe
dim wbs As workbooks
'Arbeitsblatt
dim wb As workbook
’ ?
dim objXL
'dim xlBook
'dim xlSheet

'Variablen Werte zuweisen
Set FSO = Nothing
Set xl = Nothing
xl.WindowState = xlNormal
Set wbs = xl.Workbooks
Set wb = wbs.add()
Set wbs = xl.Workbooks.Open(„C:\lizenz\Mappe.xls“)
'Set xlSheet = xlBook.Worksheets(1)

xl.Visible = TRUE
xl.WorkBooks.Open(pfad)
xl.Cells(1, 1).Value = „Vorname“
xl.Cells(1, 2).Value = „Nachname“
xl.Cells(1, 3).Value = „Abteilung“

<%
i=3

While Not rec.EOF
response.write " xl.Cells(" & i & „, 1).Value =“ & i & vbCrLF
response.write " xl.Cells(" & i & „, 2).Value =“"" & Trim(rec(„vorname“)) & „“"" & vbCrLF
response.write " xl.Cells(" & i & „, 3).Value =“"" & Trim(rec(„nachname“)) & „“"" & vbCrLF
response.write " xl.Cells(" & i & „, 4).Value =“"" & Trim(rec(„abteilung“)) & „“"" & vbCrLF
i=i+1
rec.MoveNext
Wend
'speichern
'xl.SaveAs „C:\lizenz\Mappe.xls“
'Anwendung beenden
'xl.Application.Quit

'Alles schließen
rec.Close
con.close
%>
Set objXL = Nothing
end function
–>

Ich hoffe, ich habe das richtige Brett erwischt und mich einigermaßen verständlich ausgedrückt. Vielen Dank im Voraus und allen ein frohes und gesundes neues Jahr.

MfG Claudia

kann jetzt keine unmittelbare hilfe anbieten, hab aber eine kleine frage: wozu machst du dir die mühe, das ganze über excel zu speichern? du bringst ja ohnehin keine formatierungen an. speicher das ganze einfach als simple text-datei (tab-separiert) und gib der datei die endung xls. beim doppelklick darauf wird die datei automatisch von excel geöffnet. excel ist zum glück schlau genug, um das tab-separierte format zu erkennen und automatisch zu importieren. das ergebnis ist damit das selbe, nur ungleich einfacher, schneller und leichter wartbar (z.b. bei neuer excel-version oder vielleicht auch open-office…).

erwin

kann jetzt keine unmittelbare hilfe anbieten, hab aber eine
kleine frage: wozu machst du dir die mühe, das ganze über
excel zu speichern?

Weil auch ein Nutzer damit umgehen soll, der keine Ahnung von PC’s hat. Für den normalen Nutzer ist das Speichern in einer Text-Datei und umbenennen zu umständlich.

du bringst ja ohnehin keine formatierungen

Die kann man immer noch hinzufügen, wenn das eigentliche Exportieren funktioniert.

an. speicher das ganze einfach als simple text-datei
(tab-separiert) und gib der datei die endung xls. beim
doppelklick darauf wird die datei automatisch von excel
geöffnet.

Wie mach ich das genau?

excel ist zum glück schlau genug, um das
tab-separierte format zu erkennen und automatisch zu
importieren. das ergebnis ist damit das selbe, nur ungleich
einfacher, schneller und leichter wartbar (z.b. bei neuer
excel-version oder vielleicht auch open-office…).

Deinen Vorschlag würde ich gern ausprobieren. Wäre schön, wenn du mir sagen könntest, wie ich das genau bewerkstelligen kann. Ich kenn mich mit ASP und VBScript nicht so gut aus.

Danke im Voraus

Gruß

Claudia

beispiel:

Dim fso As New FileSystemObject
Dim tf As TextStream

Set tf = fso.OpenTextFile(„c:\temp\test.xls“, ForWriting, True)
tf.Write „eins“
tf.Write vbTab
tf.Write „zwei“
tf.Write vbTab
tf.WriteLine „drei“

tf.Write „alpha“
tf.Write vbTab
tf.Write „beta“
tf.Write vbTab
tf.WriteLine „gamma“

tf.Close

viel einfacher gehts ja wohl nicht mehr…

die datei sollte anstandslos von excel geöffnet und weiterbearbeitet werden können. lediglich beim speichern kommt eine blöde meldung, von wegen, ob das format angepasst werden soll. einfach mit ja bestätigen.

erwin

Danke, ich hab nur noch ein kleines Problem

Es kommt eine Fehlermeldung:

Es ist ein Laufzeitfehler aufgetreten.
Soll der Dubugmodus gestartet werden?
Fehler wahrscheinlich in folgender Zeile:

Dim fso As New FileSystemObject

Zeile 11:
Anweisungsende erwartet.

Woran könnte das liegen?

Gruß

Claudia

Danke, ich hab nur noch ein kleines Problem

Es kommt eine Fehlermeldung:

Es ist ein Laufzeitfehler aufgetreten.
Soll der Dubugmodus gestartet werden?

Diese Fehlermeldung ist behoben, es passiert jetzt gar nichts mehr.

Ich hab den Quelltext in eine leere ASP-Seite kopiert. und als VBScript deklariert.

Der PC zeigt mir also beim Anwählen der Option Export die leere Seite an. Mehr passiert leider nicht. Muss ich noch etwas zum Quelltext hinzufügen, oder reicht der?

Gruß

Claudia

Unter ASP werden Objekte so erstellt:

set fso = server.createObject("Scripting.FileSystemObject")

Wie in jeder anderen Programmiersprache eigentlich auch. Bin kein Profi in ASP/VB, aber soweit ich weiß deklarierst du mittels „Dim“ nur Variabeln… oder net?!

Mfg - JENS

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke, ich hab nur noch ein kleines Problem

Es kommt eine Fehlermeldung:

Es ist ein Laufzeitfehler aufgetreten.
Soll der Dubugmodus gestartet werden?

Diese Fehlermeldung ist behoben, es passiert jetzt gar nichts
mehr.

Na Wahnsinn :smile:

Ich hab den Quelltext in eine leere ASP-Seite kopiert. und als
VBScript deklariert.

An die „“ hast du hoffentlich gedacht?!

Der PC zeigt mir also beim Anwählen der Option Export die
leere Seite an. Mehr passiert leider nicht. Muss ich noch
etwas zum Quelltext hinzufügen, oder reicht der?

Na was soll denn auch angezeigt werden? Erwin wollte dir nur nen Denkanstoß geben, um dir zu zeigen wie das mit den TABS geht. Dass dieser einfach nur 1234 in ne Datei auf deiner Festplatte abgespeichert, hast du gemerkt?! Da is nix mit anzeigen… Den Rest musst du schon selbst machen :smile:

Ciao - JENS

Ich hab den Quelltext in eine leere ASP-Seite kopiert. und als
VBScript deklariert.

An die „“ hast du hoffentlich gedacht?!

Sicherlich, also kein VB-Script, sonder ASP?

Der PC zeigt mir also beim Anwählen der Option Export die
leere Seite an. Mehr passiert leider nicht. Muss ich noch
etwas zum Quelltext hinzufügen, oder reicht der?

Na was soll denn auch angezeigt werden? Erwin wollte dir nur
nen Denkanstoß geben, um dir zu zeigen wie das mit den TABS
geht. Dass dieser einfach nur 1234 in ne Datei auf deiner
Festplatte abgespeichert, hast du gemerkt?!

Hat er eben nicht. Das ist ja das Problem.

Da is nix mit
anzeigen… Den Rest musst du schon selbst machen :smile:

Ciao - JENS

Ich dachte, dass so, wie es Erwin beschrieben hat, eine Datei namens test.xls im Ordner C:/temp erzeugt wird. Und dass ich, wenn ich diese Datei mit Excel öffne 3 Spalten und 2 Zeilen hab und in der ersten Zeile: „eins“, „zwei“, „drei“ und in der zweiten Zeile: „alpha“, „beta“, „gamma“. Oder nicht? Hab ich jetzt irgendwo einen Denkfehler oder hab ich das richtig verstanden?

MfG Claudia

Sicherlich, also kein VB-Script, sonder ASP?

Hm, ich hab dein Projekt so verstanden, dass das alles über deinen Browser ablaufen soll, also ASP. Im Übrigen is zwischen VB und ASP kein großer Unterschied…

Der PC zeigt mir also beim Anwählen der Option Export die
leere Seite an. Mehr passiert leider nicht. Muss ich noch
etwas zum Quelltext hinzufügen, oder reicht der?

Na was soll denn auch angezeigt werden? Erwin wollte dir nur
nen Denkanstoß geben, um dir zu zeigen wie das mit den TABS
geht. Dass dieser einfach nur 1234 in ne Datei auf deiner
Festplatte abgespeichert, hast du gemerkt?!

Hat er eben nicht. Das ist ja das Problem.

Da is nix mit
anzeigen… Den Rest musst du schon selbst machen :smile:

Ciao - JENS

Ich dachte, dass so, wie es Erwin beschrieben hat, eine Datei
namens test.xls im Ordner C:/temp erzeugt wird. Und dass ich,
wenn ich diese Datei mit Excel öffne 3 Spalten und 2 Zeilen
hab und in der ersten Zeile: „eins“, „zwei“, „drei“ und in der
zweiten Zeile: „alpha“, „beta“, „gamma“. Oder nicht? Hab ich
jetzt irgendwo einen Denkfehler oder hab ich das richtig
verstanden?

MfG Claudia

Nee, hast du schon richtig verstanden, das meinte ich mit 1234. Wollte nur ausdrücken, dass es net die fertige Lösung für deine Aufgabe is… :smile:

Ciao - JENS

Sicherlich, also kein VB-Script, sonder ASP?

Hm, ich hab dein Projekt so verstanden, dass das alles über
deinen Browser ablaufen soll, also ASP. Im Übrigen is zwischen
VB und ASP kein großer Unterschied…

Hast du richtig verstanden. der Nutzer klickt sozusagen auf den „Export-Button“ und dann soll das Programm eine Excel-Datei erstellen.
Ich kenn mich mit beiden gleichwenig, bzw. gar nicht aus.

Der PC zeigt mir also beim Anwählen der Option Export die
leere Seite an. Mehr passiert leider nicht. Muss ich noch
etwas zum Quelltext hinzufügen, oder reicht der?

Na was soll denn auch angezeigt werden? Erwin wollte dir nur
nen Denkanstoß geben, um dir zu zeigen wie das mit den TABS
geht. Dass dieser einfach nur 1234 in ne Datei auf deiner
Festplatte abgespeichert, hast du gemerkt?!

Hat er eben nicht. Das ist ja das Problem.

Da is nix mit
anzeigen… Den Rest musst du schon selbst machen :smile:

Ciao - JENS

Ich dachte, dass so, wie es Erwin beschrieben hat, eine Datei
namens test.xls im Ordner C:/temp erzeugt wird. Und dass ich,
wenn ich diese Datei mit Excel öffne 3 Spalten und 2 Zeilen
hab und in der ersten Zeile: „eins“, „zwei“, „drei“ und in der
zweiten Zeile: „alpha“, „beta“, „gamma“. Oder nicht? Hab ich
jetzt irgendwo einen Denkfehler oder hab ich das richtig
verstanden?

MfG Claudia

Nee, hast du schon richtig verstanden, das meinte ich mit
1234. Wollte nur ausdrücken, dass es net die fertige Lösung
für deine Aufgabe is… :smile:

Ciao - JENS

OK, aber wie ich das bewerkstellige oder woran es liegt, dass er die Datei nicht erstellt, weißt du nicht zufällig?

Gruß

Claudia

DAS funktioniert!
Hey,

also folgendes funktioniert. Waren eins oder zwei Fehler drin:

**set fso = createObject("scripting.FileSystemObject")**
Set tf = fso.OpenTextFile("c:\temp\test.xls", **2** , True)
tf.Write "eins"
tf.Write vbTab
tf.Write "zwei"
tf.Write vbTab
tf.WriteLine "drei"

tf.Write "alpha"
tf.Write vbTab
tf.Write "beta"
tf.Write vbTab
tf.WriteLine "gamma"

tf.Close

ACHTUNG: Das ist ein Script. Das heißt du musst es mit der Endung VBS abspeichern und dann einfach nen Doppelklick drauf machen. Probiers einfach mal! Aber danach musst du dich dann endlich auf ASP,VBS oder VB einigen gell :wink:

Ciao - JENS

OK, aber wie ich das bewerkstellige oder woran es liegt, dass
er die Datei nicht erstellt, weißt du nicht zufällig?

Musst du ein Posting obendrüber gucken… Haben anscheind zeitgleich geschrieben…

Fehler Nummer Eins war das falsch erstellte Objekt, was ich ja schon ein paar Postings obendrüber geschrieben hab, und Fehler Nummer 2 ein falsches Argument. Entweder du schreibst wie ich die 2 als Parameter, oder du fügst ein:

const ForWriting = 2

obendrüber ein…

Ciao…

Super, das funktioniert jetzt, habs auch schon in die Webseite eingebunden. Und das funktioniert auch.

Vielen Dank für die Hilfe !!!

MfG Claudia

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]