Hallo Freunde,
ich komme nicht mehr weiter bei meinem Konstrukt.
Und zwar möchte ich aus einer Datenquelle und einen Vorlagetext (beides Textdateien) HTML-Dateien regenieren. Ähnlich der Serienbrief-Funktion sollen in der Vorlagedatei #PLATZHALTER# durch Textstrings aus der Datendatei ersetzt werden. Hierzu wird bei mir eien temporäre Datei angelegt, in der dann die Platzhalter ersetzt werden. Am Ende erfolgt eine Umbenennung in das Endprodukt - eine durch die Nummer gekennzeichnete HTL-Datei beliebigen Inhalts, aber eben den ersetzten PLATZHALTERn.
Beim ersten Datensatz klappt dies schon ganz gut, aber es gelingt mir nicht einen Durchlauf zu coden, der mir für jeden Datensatz in der Datendatei eine HTML-Datei generiert. Es wäre schön wenn mir einer das helfen könnte.
Hier zuerst der Aufbau der Datendatei
und hier das unvollständige Konstrukt HTMLGenerator.vbs:
Mein getesteter Vorschlag funktioniert natürlich nicht - Erkenntlich am '|
Danke im voraus
Micha
ich komme nicht mehr weiter bei meinem Konstrukt.
Und zwar möchte ich aus einer Datenquelle und einen Vorlagetext (beides Textdateien) HTML-Dateien regenieren. Ähnlich der Serienbrief-Funktion sollen in der Vorlagedatei #PLATZHALTER# durch Textstrings aus der Datendatei ersetzt werden. Hierzu wird bei mir eien temporäre Datei angelegt, in der dann die Platzhalter ersetzt werden. Am Ende erfolgt eine Umbenennung in das Endprodukt - eine durch die Nummer gekennzeichnete HTL-Datei beliebigen Inhalts, aber eben den ersetzten PLATZHALTERn.
Beim ersten Datensatz klappt dies schon ganz gut, aber es gelingt mir nicht einen Durchlauf zu coden, der mir für jeden Datensatz in der Datendatei eine HTML-Datei generiert. Es wäre schön wenn mir einer das helfen könnte.
Hier zuerst der Aufbau der Datendatei
und hier das unvollständige Konstrukt HTMLGenerator.vbs:
Visual Basic-Quellcode
- Set objFSO = CreateObject("Scripting.FileSystemObject")
- Set Datendatei=objFSO.OpenTextFile("Daten.txt", 1) ' For Reading
- set Vorlagedatei=objFSO.OpenTextFile("Vorlage.txt", 1) ' For Reading
- Set Tempdatei=objFSO.CreateTextFile("123tmp89.txt",2 ) '2 For Writing
- ' | i=0
- ' | t = Datendatei.ReadAll
- ' | myArr=Split(t, vbcrlf)
- ' | Zeile=myArr(i)
- ' FOR I = 1 To 5
- Datendatei.SkipLine '1. Zeile überspringen
- u=Datendatei.Readline
- Arr = Split (u, ";")
- ' Ersatz für die #PLATZHALTER#
- Nummer=Arr(0)
- Latein=Arr(1)
- Deutsch=Arr(2)
- Do until Vorlagedatei.AtEndofStream
- Tempdatei.WriteLine(Vorlagedatei.Readline)
- Loop
- Tempdatei.close
- Vorlagedatei.Close
- ' Anlegen einer Tempdatei
- Set Tempdatei=objFSO.OpenTextFile("123tmp89.txt", 1) ' For Reading
- strText = Tempdatei.ReadAll
- Set Tempdatei=objFSO.OpenTextFile("123tmp89.txt", 2) ' For Writing
- ' #PLATZHALTER' in der Vorlage.txt
- strText1 = Replace(strText, "#NUMMER#", Nummer)
- strText2 = Replace(strText1, "#LATEIN#" , Latein)
- strText3 = Replace(strText2, "#DEUTSCH#", Deutsch)
- Tempdatei.Write strText3
- Datendatei.Close
- Set Tempdatei=objFSO.OpenTextFile("123tmp89.txt", 1) ' For Reading
- ' kopieren der Tempdatei auf die Ausgabedatei und weiterarbeiten mit dieser
- Set Ausgabedatei=objFSO.CreateTextFile(Nummer & ".html")
- Do until Tempdatei.AtEndofStream
- Ausgabedatei.WriteLine(Tempdatei.Readline)
- Loop
- Tempdatei.close 'wird nicht gelöscht, da immer weider neu erstellt...
- Ausgabedatei.Close
- '| i =i + 1
- '| NEXT
Mein getesteter Vorschlag funktioniert natürlich nicht - Erkenntlich am '|
Danke im voraus
Micha
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Sachsenbauch“ ()