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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 205812
Url: https://administrator.de/contentid/205812
Printed on: April 23, 2024 at 08:04 o'clock
3 Comments
Latest comment
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