VBscript aus Excelauslesen und an Anwendung übergeben (Problem mit umlauten)
Hallo Zusammen,
vielleicht kann mir jemand helfen, ich habe schon rumgegoogelt und nix gefunden.
Ich übergebe aus einer Anwendung ein Parameter an eine VB-Scriptdatei, diese durchsucht eine XLS-Tabelle und schreibt einen gefundenen Wert wieder zurück.
Wenn ich das Programm über CMD mit script.vbs xxx aufrufe und mir den Rückgabewert mit MSGBOX anzeigen lasse
ist alles in Ordnung, die Umlaute werden sauber dargestellt.
Gebe ich aber den Wert mit
objStdOut.Write TEXT
wieder an das aufrufende Programm zurück, erscheinen die Umlaute mit Sonderzeichen.
TEXT=replace(TEXT,"ö","÷")
TEXT=replace(TEXT,"ä","õ")
TEXT=replace(TEXT,"ü","³")
TEXT=replace(TEXT,"Ö","Í")
TEXT=replace(TEXT,"Ä","-")
TEXT=replace(TEXT,"Ü","_")
TEXT=replace(TEXT,"ß","¯")
Hat leider auch nichts gebracht, die hier aufgeführten Zeichen sind diejenigen die als
Zeichen in der Software auftauchen.
Wie könnte ich das beheben ?
Ich habe nichts gefunden um Code-Page oder Sonstiges für objStdOut.Write zu hinterlegen.
Danke
Ralf
vielleicht kann mir jemand helfen, ich habe schon rumgegoogelt und nix gefunden.
Ich übergebe aus einer Anwendung ein Parameter an eine VB-Scriptdatei, diese durchsucht eine XLS-Tabelle und schreibt einen gefundenen Wert wieder zurück.
Wenn ich das Programm über CMD mit script.vbs xxx aufrufe und mir den Rückgabewert mit MSGBOX anzeigen lasse
ist alles in Ordnung, die Umlaute werden sauber dargestellt.
Gebe ich aber den Wert mit
objStdOut.Write TEXT
wieder an das aufrufende Programm zurück, erscheinen die Umlaute mit Sonderzeichen.
TEXT=replace(TEXT,"ö","÷")
TEXT=replace(TEXT,"ä","õ")
TEXT=replace(TEXT,"ü","³")
TEXT=replace(TEXT,"Ö","Í")
TEXT=replace(TEXT,"Ä","-")
TEXT=replace(TEXT,"Ü","_")
TEXT=replace(TEXT,"ß","¯")
Hat leider auch nichts gebracht, die hier aufgeführten Zeichen sind diejenigen die als
Zeichen in der Software auftauchen.
Wie könnte ich das beheben ?
Ich habe nichts gefunden um Code-Page oder Sonstiges für objStdOut.Write zu hinterlegen.
Danke
Ralf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 205812
Url: https://administrator.de/contentid/205812
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
3 Kommentare
Neuester Kommentar
Moin!
Ich meine in VB muss der replace-part anders lauten:
TEXT = replace(TEXT, Chr(129), "ü")
TEXT = replace(TEXT, chr(132), "ä")
TEXT = replace(TEXT, chr(148), "ö")
TEXT = replace(TEXT, chr(129), "ü")
TEXT = replace(TEXT, chr(142), "Ä")
TEXT = replace(TEXT, chr(153), "Ö")
TEXT = replace(TEXT, chr(154), "Ü")
TEXT = replace(TEXT, chr(225), "ß")
Ich meine in VB muss der replace-part anders lauten:
TEXT = replace(TEXT, Chr(129), "ü")
TEXT = replace(TEXT, chr(132), "ä")
TEXT = replace(TEXT, chr(148), "ö")
TEXT = replace(TEXT, chr(129), "ü")
TEXT = replace(TEXT, chr(142), "Ä")
TEXT = replace(TEXT, chr(153), "Ö")
TEXT = replace(TEXT, chr(154), "Ü")
TEXT = replace(TEXT, chr(225), "ß")
Hallo nulpen!
Also, wenn ich dieses VB-Script (Test.vbs)
per 'cscript //nologo Test.vbs' aufrufe, dann werden die Umlaute bei mir richtig dargestellt...
Gruß Dieter
Also, wenn ich dieses VB-Script (Test.vbs)
WScript.StdOut.Write "Ein Satz mit Umlauten <äöüßÄÖÜ>"
Gruß Dieter