«Определенный пользователем тип не определен» при попытке определить новый «процесс» - PullRequest
0 голосов
/ 30 декабря 2011

Я пытаюсь перенаправить вывод командной строки в поле со списком в макросе 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 Ответ

1 голос
/ 30 декабря 2011

Это не может быть VBA, поскольку в VBA нет операторов Try / Catch или return. Это похоже на VB.NET. В любом случае, компилятор говорит вам, что в настоящее время нет ссылки на какую-либо dll, которая содержит объект процесса.

Если это VB.NET, вам нужно добавить Imports System.Diagnostics

...