Ti basta scriverlo come fai con i file sequenziali:
poi lo lanci con Shellcodice:Open "C:\MioBatch.bat" For Append As #1 Print #1, "@ECHO OFF" Print #1, "REM questo è un commento !" Print #1, "ECHO." Print #1, "ECHO Batch avvio applicazione" Print #1, "PAUSE" Print #1, "ECHO." Print #1, "REM *** Lancia il programma... ***" Print #1, "C:\AltroProgramma.exe" Print #1, "Exit" Close #1
Puoi usare vbHide al posto di vbNormalFocus per lanciare il batch senza che il prompt sia visualizzato. In tal caso però evita di usare il comando PAUSE.codice:Shell "C:\MioBatch.bat", vbNormalFocus
Se ti interessa sincronizzare l'esecuzione ddel batch, nel caso il tuo codice debba rimanere in attesa fino a quando l'applicazione lanciata non viene chiusa, puoi utilizzare questa funzioncina.
da richiamare così:codice:' Sub ShellSync(ByVal cmdLine As String, ByVal WindowStyle As VbAppWinStyle) ' Esegue Shell sincronizzato Dim d As Double d = Shell(cmdLine, WindowStyle) Ciclo: ' Ciclo di attivazione dell'applicazione ' shelled, termina alla chiusura dell'applicazione On Error GoTo ErrOut AppActivate d, True GoTo Ciclo ErrOut: End Sub
Ciao ciaocodice:ShellSync "C:\MioBatch.bat", vbNormalFocus MsgBox "Applicazione terminata !"
Simo

Rispondi quotando