Hast du dir meinen Link angeschaut? Denn dann hättest du das hier sehen müssen:
Das [bWaitOnReturn] bedeutet es gibt eine Bool'sche (das "b" am Anfang) Eingabe, ob gewartet werden soll bis das Programm wieder geschlossen ist.
Mal ein Beispiel:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
Sub open_extern()
Dim sCmd As String
Dim oShell As Object
Set oShell = CreateObject("WScript.Shell")
sCmd = """" & "C:ProgrammeNational InstrumentsLabVIEW 2009LabVIEW.exe" & """"
oShell.Run sCmd, , True
Set oShell = Nothing
End Sub
</div>
Bei einem Commandline Aufruf müssen Pfadangaben, die Leerzeichen beinhalten, in Anfügrungszeichen gesetzt werden. Da Anführungszeichen in VBA einen String markieren, kommt es zu diesem 4-fach Anführungszeichen an Anfang und Ende des Commands.
Das "True" am Ende von oShell.Run ist die Bool'sche Eingabe die ich erwähnt habe. True bedeutet warten.
So, pack den Code mal in Excel und pass evtl. den Pfad an. Wenn du das Makro ausführts, kannst du Excel erst wieder beenden/benutzen, wenn LV geschlossen wurde. In anderen Worten, Excel wartet mit der Ausführung von weiterem VBA Code bis die aufgerufenen Shell Anwendung wieder beendet wurde.
Gruß SeBa
Edit:
Sehe grad, dass du im zweiten Fall Excel ja aus LV starten willst. :unsure:Hab ich so früh am Morgen (ohne Kaffee) doch falsch rum gedacht. Da muss ich mal schauen, wie man LV zum Warten überredet.