Ti basta scriverlo come fai con i file sequenziali:
codice:
  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
poi lo lanci con Shell
codice:
Shell "C:\MioBatch.bat", vbNormalFocus
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.

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.
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
da richiamare così:
codice:
  ShellSync "C:\MioBatch.bat", vbNormalFocus
  MsgBox "Applicazione terminata !"
Ciao ciao
Simo