Как я могу выполнить команду оболочки, используя VBA? - PullRequest
12 голосов
/ 18 февраля 2010

Я хочу выполнить команду оболочки, как показано ниже, используя Visual Basic для приложений.

C:\Temp\gc.exe 1

Как я могу это сделать?

Ответы [ 2 ]

11 голосов
/ 18 февраля 2010

Пример:

 retVal = Shell("C:\Temp\gc.exe 1", vbNormalFocus)

Ссылка: Оболочка, вызванная из VBA

2 голосов
/ 21 февраля 2014

Здесь показаны сценарии, в которых вы хотите вызвать исполняемый файл и передать ему аргумент с помощью команды оболочки. Следующий код проверяет папку, в которой находится chrome.exe, и вызывает www.google.com оттуда (при условии, что вы установили chrome), передавая в качестве аргумента url:

Public Sub Display_Google()
  Dim chromePath As String
  chromePath = "C:\Program Files\Google\Chrome\Application\chrome.exe"

  If FileExists(chromePath) Then
  Shell (chromePath & " -url" & " " & "www.google.com"), vbMaximizedFocus
  Else

  chromePath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
  Shell (chromePath & " -url" & " " & "www.google.com"), vbMaximizedFocus
  End If
End Sub

Public Function FileExists(ByVal FileName As String) As Boolean
    On Error Resume Next
    FileExists = Not CBool(GetAttr(FileName) And (vbDirectory Or vbVolume))
    On Error GoTo 0
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...