donsimeo
Goto Top

Exe aus VB starten - Pfad mit Leerzeichen

Schön guten Tag,

also eigentlich scheint mir mein Problemchen nicht allzu schwer zu sein, aber nach langem probieren hab ich's nicht geschafft...

eine *.Exe aus Visual Basic 6 zu starten, deren Pfad Leerzeichen enthält.

Das Programm starte ich mit:

Call Shell("Pfad\Datei.exe", vbNormalFocus)

Da der Pfad aber Leerzeichen enthält, funktionierts nicht.

Ich hoffe mir kann da jemand helfen,
Grüße, Simi.

Content-Key: 61261

Url: https://administrator.de/contentid/61261

Printed on: April 18, 2024 at 12:04 o'clock

Member: miniversum
miniversum Jun 13, 2007 at 11:45:03 (UTC)
Goto Top
Du brauchst ja in der cmd zum ausführen einer Programmes mit Leerzeichen im Pfad oder im Namen ein " am Anfang und Ende, also so:
"c:\Verzeichnis zum Programm\Program.exe"
Das muß beim Aufruf in VB dan auch so sein. Im VB wird ja z.B. auch bei ausgaben ein " durch "" im Sourcecode erreicht. Daher müßte es mit Folgendem Aufruf gehen:
Shell("""Pfad\Datei.exe""", vbNormalFocus)

miniversum
Member: DonSimeo
DonSimeo Jun 13, 2007 at 14:39:33 (UTC)
Goto Top
Ja so funktionierts, danke.

Und wie könnte ich in den Pfad eine Variable schreiben?
Also ungefähr so:

Dim winPath As String
winPath = Environ("userprofile")
Shell (winpath & "\Ordner mit Leerzeichen\Datei.exe")

Nun sind aber schon im Pfad winPath (=C:\Dokumente und Einstellungen\User) Leerzeichen die irgendwie angeben muss, aber nicht weiß wie...

So jedenfalls funktionierst nicht:

Shell (""" & winPath & """ & "Datei.exe")
Member: miniversum
miniversum Jun 13, 2007 at 14:52:50 (UTC)
Goto Top
Muß dan so aussehen:
Shell ("""" & winPath & "Datei.exe""")
oder ausführlicher wärs ja so:
Shell ("""" & winPath & "Datei.exe" & """")
Kannst ja mal mit ner msgbox bischen rumprobieren. da funktionierts genau so.

miniversum
Member: DonSimeo
DonSimeo Jun 13, 2007 at 15:52:40 (UTC)
Goto Top
Vielen Dank, das wars.

...wer ahnt denn mit so vielen Anführungsstrichen...

Schönen Abend,Simi.
Member: bastla
bastla Jun 13, 2007 at 16:42:14 (UTC)
Goto Top
Hallo DonSimeo!

Wenn Du die vielen Anführungszeichen nicht sooo sympathisch findest, vielleicht folgende Variante:
Shell (Chr(34) & winPath & "Datei.exe" & Chr(34))  

Grüße
bastla