我正在尝试从WScript.Shells Exec返回值读取输出。 有些行包含中文/德文/西里尔字母 像这样:
格拉斯拉姆(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
答案 0 :(得分:0)
不幸的是,但是您可以理解什么是字符集,并且您可以对UTF-8进行“转换”或“转换”,什么是标准输出?