Я пытаюсь прочитать вывод из возвращаемого значения WScript.Shells Exec.
Некоторые строки содержат китайские / немецкие / кириллические символы
Как это:
Glas F ü R Rahmen
Проблема в том, что я получаю "неправильные" символы в моем скрипте VBA.
Могу ли я изменить кодировку моего StdOut
? Разработчик исполняемого файла, который я запускаю через WScript.Shell, гарантировал, что вывод будет UTF8.
Если я запускаю исполняемый файл в CMD, я вижу правильные символы.
Private oShell As Variant
Private Sub Class_Initialize()
Set oShell = CreateObject("WScript.Shell")
End Sub
Public Function StartExeAndGetOutput(executable As String, arguments As String) As String
Dim returnValue As Object
Set returnValue = oShell.Exec(executable & " " & arguments)
Dim oOutput As Object
Set oOutput = returnValue.StdOut
Dim s As String
Dim sLine As String
While Not oOutput.AtEndOfStream
sLine = oOutput.ReadLine
If sLine <> "" Then s = s & sLine & vbCrLf
Wend
StartExeAndGetOutput = s
End Function