Qt QProcess赢得';VBScript失败时发生错误

Qt QProcess赢得';VBScript失败时发生错误,qt,signals,qprocess,Qt,Signals,Qprocess,我有一个VBScript,可以将Excel文件转换为制表符分隔的文本文件: format = -4158 Set objFSO = CreateObject("Scripting.FileSystemObject") src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0)) dest_file = objFSO.GetAbsolutePathName(WScript.Arguments.Item(1)) Dim oEx

我有一个VBScript,可以将Excel文件转换为制表符分隔的文本文件:

format = -4158

Set objFSO = CreateObject("Scripting.FileSystemObject")

src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0))
dest_file = objFSO.GetAbsolutePathName(WScript.Arguments.Item(1))

Dim oExcel
Set oExcel = CreateObject("Excel.Application")

oExcel.DisplayAlerts = False
oExcel.ProtectedViewWindows.Open(src_file)
oExcel.ActiveProtectedViewWindow.Edit

Dim oBook
Set oBook = oExcel.Workbooks.Open(src_file)

oBook.Worksheets(5).Activate

oBook.SaveAs dest_file, format

oBook.Close False
oExcel.DisplayAlerts = True
oExcel.Quit
在Qt中,我使用wscript运行此代码,并将信号QProcess::ErrorOccurrent连接到lambda:

QObject::connect(&wscript, &QProcess::errorOccurred, [=](QProcess::ProcessError error)
{

  qDebug() << "Error has occured";

});
QObject::connect(&wscript,&QProcess::error发生,[=](QProcess::ProcessError)
{

qDebug()只有当
QProcess
本身有问题或正在运行的进程崩溃时才会发出
Process::erroroccurrend
信号(请参见原因)


如果你想让你的VB脚本以某种方式通知你的应用程序错误,那么你的脚本必须使用非零退出代码,该代码可以通过读取,或者写入其标准错误流,该错误流可以捕获并读取信号。

只有当
QProcess
本身已发生错误时,才会发出
Process::erroroccurrend
信号问题或正在运行的进程是否崩溃(请参阅原因)

如果你想让你的VB脚本以某种方式通知你的应用程序错误,那么你的脚本必须使用非零退出代码,该代码可以通过读取,或者写入标准错误流,该错误流可以捕获并读取信号