尝试定义新“进程”时“未定义用户定义类型”

时间:2011-12-29 22:35:18

标签: vb.net command-line outputstream

我正在尝试将命令行输出重定向到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

它给出了标题中的错误并突出显示了第一个声明行。

问题:如何定义新的“流程”。

奖励积分:通过命令行输出重定向帮助我!

1 个答案:

答案 0 :(得分:1)

这不能是VBA,因为VBA或return语句中没有Try / Catch。这看起来像VB.NET。无论哪种方式,编译器都告诉您当前没有对包含进程对象的任何dll的引用。

如果这是VB.NET,则需要添加Imports System.Diagnostics