Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VBA Excel] Shell Wait di un file batch

    Buondì,
    tramite VBA richiamo un file batch.
    Vorrei fare in modo che il codice VBA vada avanti SOLO quando il file batch ha terminato la sua esecuzione.

    Conoscete modi per farlo?
    In rete trovo diverse cose ma per ora non sono riuscito ad applicarle.

    N.b. Non posso applicare un tempo standard

    Riporto il codice che sto usando:
    codice:
    Public Const MY_FILENAME = "percorso\filebat.bat"
    Public Sub Aggfilebatch()
    Dim FileNumber As Integer
    Dim retVal As Variant
    
    FileNumber = FreeFile
     
    'Creo il file batch
    Open MY_FILENAME For Output As #FileNumber
    Print #FileNumber, "cd\"
    Close #FileNumber
    
    'Eseguo in background il file Batch
    retVal = Shell(MY_FILENAME, vbNormalFocus)
    
    'Attendo che il file batch termini la sua esecuzione
    
    
    'Cancello il file batch
    Kill MY_FILENAME
        
    End Sub

  2. #2
    Ho risolto aggiungendo una riga nel file bat che cancella il bat e con il vba testo con un ciclo do quando viene cancellato il file.. funziona fin troppo bene

    Se qualcuno conosce un modo più corretto per fare un ShellWait sarei comunque curioso di sapere come si fa, non si sa mai che torni utile in futuro!

    Leggendo qua e la ho trovato l'istruzione "task" ma non mi è chiaro come funziona, forse serve una libreria che ovviamente non hanno specificato.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.