mikerohsoft
Goto Top

Fehlermeldung beim schreiben in Datei

Mein Vorhaben sollte eigentlich kein Hexenwerk darstellen.
Ich bastle mir gerade eine HTApplication.

Ich wollte bestimtme Variablen in einer .js Datei ändern. Um das zu schaffen hab ich einen Umweg genommen:

Die Datei wird ganz normal mittels Javascript geladen.
Wenn eine dieser Variablen geändert wurden ist, werden diese Werte in ein verstecktes DIV geschrieben um dieses von VBScript wieder auslesen zu lassen und dessen Inhalt in Datei zu schreiben.

Das ganze Sieht so aus:

<SCRIPT FOR="test" EVENT="onClick" LANGUAGE="VBScript">
Dim objFSO, objFile
test = hide.innerHTML
test2 = Replace(test,"<BR>",vbcrlf)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("test.txt", 2)

objFile.WriteLine test2
objFile.close

Set objFile = nothing
Set objFSO = nothing
</SCRIPT>

Das Problem.. Wenn ich nur einen simplen Text schreiben möchte klappt das wunderbar.
Jetzt sehen die Werte die er schreiben soll aber so aus:

<br>var Mitarbeiteranzahl = 18
<br>var Mitarbeiter1 = Mustermann
<br>var Mitarbeiter1Anspruch = 23
<br>var Mitarbeiter1Alturlaub = -2
<br>var Mitarbeiter1Urlaubgenommen = 22

und damit scheint VBS ein Problem zu haben.. Denn Die Sachen schreibt es schon in die Datei, aber nicht anstandslos..
Jedesmal bekomme ich vom Explorer eine Fehlermeldung dass die Datei nicht gefunden wurde..
Nach dem Nachsehen hat er dennoch alle Werte eingetragen..

Kann mir jemand helfen die Fehlermeldung loszuwerden?

Content-ID: 155015

Url: https://administrator.de/contentid/155015

Ausgedruckt am: 24.11.2024 um 12:11 Uhr

Biber
Biber 13.11.2010 um 11:54:35 Uhr
Goto Top
Moin MikeRohsoft,

willkommen im Forum.

Hast du dir schon die unterschiedlichen Werte der Argumente der Methode FileSystemObject.OpenTextFile angeschaut?

Da, wo bei dir "...OpenTextFile("test.txt", 2)" steht, könnte auch statt einer nichtssagenden Zahl "2" eine lesbare Konstante wie ForReading, ForWriting, ForAppending oder ForNothing stehen.

Und mit dem weiteren Argument "create" mit den Werten True/False kannst du festlegen, ob eine nicht existierende/existierende Datei mit/ohne Fehlermeldung erzeugt/ersetzt werden soll.

Grüße
Biber
MikeRohsoft
MikeRohsoft 13.11.2010 um 12:20:33 Uhr
Goto Top
Nein habe ich mir ehrlich gesagt nicht angeschaut
Als ich dieses Codesigment gefunden habe stand da noch "test.txt",2,True und vom Prinzip her wird dass auch nicht der springende Punkt meines Fehlers sein.

Ich kann nur sagen dass ich das Problem dennoch gelöst... ähm ne, besser vertuscht habe


Ich habe
<SCRIPT FOR="test" EVENT="onClick" LANGUAGE="VBScript">
Dim objFSO, objFile
test = hide.innerHTML
test2 = Replace(test,"<BR>",vbcrlf)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("test.txt", 2)

objFile.WriteLine test2
objFile.close

Set objFile = nothing
Set objFSO = nothing
</SCRIPT>

Einfach zu einem Sub gemacht

<SCRIPT LANGUAGE="VBScript">
Sub speichern
Dim objFSO, objFile
test = hide.innerHTML
test2 = Replace(test,"<BR>",vbcrlf)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("test.txt", 2)

objFile.WriteLine test2
objFile.close

Set objFile = nothing
Set objFSO = nothing
End Sub
</SCRIPT>

Wenn Javascript nun den Befehl speichern() ausführt ist die Fehlermeldung nicht Sichtbar , es wird trotzdem mein Inhalt in die Datei geschrieben und somit ist mein Problem gelöst.
Ich bin aber belehrbar wenn du mir die korrekte Lösung auf mein Problem kennst, wäre ich dir dennoch sehr dankbar mir diese zu verraten.
bastla
bastla 13.11.2010 um 17:03:52 Uhr
Goto Top
Hallo MikeRohsoft!
Als ich dieses Codesigment gefunden habe stand da noch "test.txt",2,True und vom Prinzip her wird dass auch nicht der springende Punkt meines Fehlers sein.
Davon überzeugt hast Du Dich durch Hinzufügen des ", True" (und im Sinne von "Ich bin aber belehrbar" face-wink) auch davon?

Grüße
bastla
Biber
Biber 14.11.2010 um 18:00:37 Uhr
Goto Top
Moin MikeRohsoft,

Zitat von @MikeRohsoft:
Nein habe ich mir ehrlich gesagt nicht angeschaut Als ich dieses Codesigment gefunden habe stand da noch "test.txt",2,True und vom Prinzip her wird dass auch nicht der
springende Punkt meines Fehlers sein.

...
Ich bin aber belehrbar wenn du mir die korrekte Lösung auf mein Problem kennst,
wäre ich dir dennoch sehr dankbar mir diese zu verraten.

Ich habe ziemlich lange überlegt, ob ich überhaupt darauf antworten möchte.
Ich sach ma' so...
Ja hey, wenn du schon für dich beschlossen oder ausgeschlossen hast, was denn der springende Punkt deines Fehlers sein könnte - wieso sollte ich mich da engstirnig oder widerborstig anstellen und nochmal dasselbe wie in meinem vorherigen Kommentar schreiben.

Ich habe dir die Hinweise gegeben, welche Methode denn vermutlich rumzickt und doch auch suggeriert, dass sich möglicherweise diese OpenTextFile genau so verhält wie sie sich auch verhalten soll laut eindeutig klarer und unmissverständlicher Dokumentation.

Dich zu "belehren" ist weder mein Ziel noch mein Anspruch.
Du kannst entweder Anregungen aus Kommentaren/Antworten hier im Forum aufgreifen oder halt "einfach so weitermachen wie bisher".

Ist doch ein freies Land hier.

Grüße
Biber
P.S. Dazu passt vielleicht das heutige Zitat unseres Bremer Sonntagblättchens:
"Der größte Feind des Fortschritts ist nicht der Irrtum, sondern die Trägkeit."
Henry Thomas Buckle (1821-1862)
MikeRohsoft
MikeRohsoft 09.12.2010 um 09:55:03 Uhr
Goto Top
Nein, überzeugt davon, dass es NICHTS mit meinem Problem zu tun hat, bin ich deshalb weil ich noch zisch weitere Funktionen im Script habe die Dateien ausführen und je nachdem, wenn ich debuggen muss lass ich das , True weg und erscheint ein Eingabeaufforderung Fenster, andernfalls eben nicht..

Warum das so ist, ist mir latte, hauptsache es tuts.
MikeRohsoft
MikeRohsoft 09.12.2010 um 10:04:37 Uhr
Goto Top
Weisst du ich verlange ja nichtmal dass du mir das Script schreibst, im gegenteil, vorher würde ich auf eine Programmiersprache ausweichen, die ich auch behersche..
Da ich hier aber sehr eingeschränkt bin und fürs Schreiben auf HTA zurückgreifen muss und javascript nur sehr eingeschränkten lokalen Zugriff besitzt, bin ich also gezwungen mir kleinere Funktionen wie Laden und Speichern in VBS zu krizzeln..

Ich finde es auch zuvorkommend dass du mich auf die richtige Fährte bringen wolltest, aber man hilft den Leuten besser wenn man direkt sagt wo der Fehler liegt wenn man Ihn schon beim blossen Augenaufmachen sehen kann.
Dann hätte ich es auch nachgeschaut.. So sehe ich doch nicht ein, mir irgendwelche Grundlagen einer Scriptsprache anzuschauen die für mich genau 2 Funktionen ausführen soll.

Einmal Lesen und einmal Schreiben..

Wenn Javascript mir diese Funktionen bieten würde, hätte ich nicht gefragt..
Aber Danke an alle die mir geholfen haben (also nur Leute aus anderen Communitys die ich per Google entdeckt habe)
Biber
Biber 09.12.2010 um 10:51:49 Uhr
Goto Top
Moin MikeRohsoft,

Aber Danke an alle die mir geholfen haben (also nur Leute aus anderen Communitys die ich per Google entdeckt habe)
das tut mir ja richtig weh, dich zur Vorweihnachtszeit so verbittert zu erleben.
Andererseits.... damit trittst du bei mir wirklich offene Adventskalendertürchen ein.
Ich kann auch immer nur den Leuten anbieten: "Hey, wenn ihr euch hier nicht verstanden fühlt, dann sucht euch andere Foren."

Also unterm Strich:
Ist doch schön, dass wir auch übereinstimmende Ansichten zur Herangehensweise haben.

Grüße
Biber
MikeRohsoft
MikeRohsoft 10.12.2010 um 16:44:39 Uhr
Goto Top
Doch ich fühle mich verstanden, sehr sogar.
Man versteht nur dich nicht face-smile