Подтвердить что ты не робот

Как вы запускаете .exe с параметрами с помощью vba shell()?

У меня есть путь к целевому файлу, который структурирован как пример ниже.

C:\Program Files\Test\foobar.exe /G

Что мне нужно сделать, так это выполнить этот файл с помощью команды vba shell().

Как мне форматировать путь к файлу, чтобы сообщить shell(), что есть аргумент, который ему нужно вызвать вместе с запуском .exe

То, что я прочитал/попробовал (безрезультатно), приведен ниже с результатами справа.

file = """C:\Program Files\Test\foobar.exe"" /G"    <---Bad file name or number (Error 52) 
shell(file)

file2 = "C:\Program Files\Test\foobar.exe /G"       <---file never found
shell(file2)

Мне удалось запустить другой .exe, используя shell(), поэтому я знаю, что это не проблема с vba или функцией.

Пример:

works = "C:\Program Files\Test\test.exe"
shell(works)

Я не особенно знаком с процессом, связанным с выполнением файлов, для которых требуются дополнительные параметры, поэтому, если я пропущу или вам нужна дополнительная информация, пожалуйста, дайте мне знать.

4b9b3361

Ответ 1

Это работает для меня (Excel 2013):

Public Sub StartExeWithArgument()
    Dim strProgramName As String
    Dim strArgument As String

    strProgramName = "C:\Program Files\Test\foobar.exe"
    strArgument = "/G"

    Call Shell("""" & strProgramName & """ """ & strArgument & """", vbNormalFocus)
End Sub

С вдохновением отсюда fooobar.com/questions/262765/....

Ответ 2

Вот несколько примеров использования Shell в VBA.
Откройте stackoverflow в Chrome.

Call Shell("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" &
 " -url" & " " & "www.stackoverflow.com",vbMaximizedFocus)


Откройте текстовый файл.

Call Shell ("notepad C:\Users\user\Desktop\temp\TEST.txt")


Открыть приложение.

Call Shell("C:\Temp\TestApplication.exe",vbNormalFocus)


Надеюсь, это поможет!

Ответ 3

Нижеприведенный код поможет вам автоматически открыть файл .exe из excel...

Sub Auto_Open()

Dim x As Variant
Dim Path As String

' Set the Path variable equal to the path of your program installation
Path = "C:\Program Files\GameTop.com\Alien Shooter\game.exe"
x = Shell(Path, vbNormalFocus)

Конец Sub