2011-12-29 51 views
0

我想將命令行輸出重定向到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

這不能是VBA,因爲VBA中沒有Try/Catch或return語句。這看起來像VB.NET。無論哪種方式,編譯器告訴你,目前沒有任何引用包含過程對象的任何dll。

如果這是VB.NET,你需要添加Imports System.Diagnostics

+0

這將是進口,不包括 – 2012-01-03 15:48:02

+0

稀釋是感謝,錯過了。 – 2012-01-03 19:45:09

相關問題