我正在尝试将命令行输出重定向到vba宏中的列表框,我发现了一些我认为可能指向正确方向的代码,但我继续得到相同的错误。当我使用这段代码时
Function ReadCmdOutput(ByVal applicationName As String,
Optional ByVal applicationArgs As String = "", Optional ByVal
workingDirectory As String = "", Optional ByVal showWindow As Boolean
= False) As String
Try
Dim processObj As New Process
processObj.StartInfo.UseShellExecute = False
processObj.StartInfo.RedirectStandardOutput = True
processObj.StartInfo.FileName = applicationName
processObj.StartInfo.Arguments = applicationArgs
processObj.StartInfo.WorkingDirectory = workingDirectory
If showWindow = True Then
processObj.StartInfo.CreateNoWindow = False
Else
processObj.StartInfo.CreateNoWindow = True
End If
processObj.Start()
processObj.WaitForExit()
Return processObj.StandardOutput.ReadToEnd
Catch ex As Exception
Return ""
End Try
End Function
它给出了标题中的错误并突出显示了第一个声明行。
问题:如何定义新的“流程”。
奖励积分:通过命令行输出重定向帮助我!
答案 0 :(得分:1)
这不能是VBA,因为VBA或return
语句中没有Try / Catch。这看起来像VB.NET。无论哪种方式,编译器都告诉您当前没有对包含进程对象的任何dll的引用。
如果这是VB.NET,则需要添加Imports System.Diagnostics