Hallöchen,
wichtig ist der Hinweis im von Chris geposteten Link, dass wegen dem Leerzeichen im Pfad zur Anwendung die doppelten Anführungszeichen nötig sind. Das hat diese Bewandnis (suiehe dazu auch der weiterführende Link im zitierten Beitrag):
Beim Shell-Kommando wird der Textteil bis zum ersten Leerzeichen als Anwendung interpretiert und alles folgende als Paramater.
Wenn eine Anwendung mehrere Parameter verarbeitet, dann müsste man auch mit weiteren Anführungszeichen arbeiten, also z.B. in etwa so
Code:
myShell.Run """C:\Program Files (x86)\Notepad++\notepad++.exe"" ""d:\test\test - Kopie.txt"" ""d:\test\test.txt"""
andere Varianten
myShell.Run """C:\Program Files (x86)\Notepad++\notepad++.exe"" d:\test\test - Kopie.txt"
myShell.Run Chr(34) & "C:\Program Files (x86)\Notepad++\notepad++.exe" & Chr(34) & " d:\test\test - Kopie.txt"
myShell.Run "d:\test\npp\notepad++.exe d:\test\test - Kopie.txt", 1, True
Mit dem chr(34) spart man sich ganz clever ein paar Anführungszeichen, weil das im Gegensatz zu dem eigentlichen Anführungszeichen nicht als Textbegrenzungszeichen interpretiert wird. Will man Anführungszeichen übergeben, ohne chr(34), muss man halt ein paar mehr schreiben
Die beiden Run-Parameter am Ende (...1, False) steuern die Anzeige (minimiert = True / Normal = False) sowie das Warteverhalten (warten = True / nicht warten = False)