it-swarm.com.de

Wie kann ich eine .exe mit Parametern mit vbas Shell () ausführen?

Ich habe einen Zieldateipfad, der wie im folgenden Beispiel strukturiert ist.

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

Ich muss diese Datei mit dem Shell()-Befehl von vba ausführen.

Wie muss ich den Dateipfad formatieren, um Shell() mitzuteilen, dass es ein Argument gibt, das beim Ausführen der EXE-Datei aufgerufen werden muss

Was ich gelesen/ausprobiert habe (ohne Erfolg) ist unten mit den Ergebnissen auf der rechten Seite.

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)

Es ist mir gelungen, andere .exes mit Shell () auszuführen, also weiß ich, dass es kein Problem mit vba oder der Funktion ist.

Beispiel:

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

Ich bin nicht besonders mit dem Prozess vertraut, der mit der Ausführung von Dateien verbunden ist, für die zusätzliche Parameter erforderlich sind. Wenn ich also Misspeak oder weitere Informationen benötige, lassen Sie es mich bitte wissen.

26
Austin A

Das funktioniert für mich (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

Mit Inspiration von hier https://stackoverflow.com/a/3448682 .

33
MBWise

Hier einige Beispiele für die Verwendung von Shell in VBA.
Stackoverflow in Chrome öffnen.

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


Öffnen Sie eine Textdatei.

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


Öffnen Sie eine Anwendung.

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


Hoffe das hilft!

7
niklasolsn

Der folgende Code hilft Ihnen beim automatischen Öffnen der EXE-Datei in Excel ...

Sub Auto_Open()


    Dim x As Variant
    Dim Path As String

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

End Sub
0
Sameer