Ho problemi con la macro excel vba. Ne ho bisogno per eseguire un file batch che si trova nella stessa cartella della cartella di lavoro di Excel. Il codice funziona bene a volte. Non so che cosa abbia causato l'errore. Ecco il codice:Esegui file .bat da Excel VBA Macro
Sub writebatch()
Sheets("code").Select
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:=ThisWorkbook.path & "\code.bat",
FileFormat:=xlTextPrinter, CreateBackup:=False
Application.DisplayAlerts = True
ThisWorkbook.Saved = True
Shell "cmd.exe /k cd " & ThisWorkbook.path & "&&code.bat"
Application.Quit
End Sub
Scrive il file batch, ma non lo esegue. Solo una volta ho ottenuto la finestra di comando per non chiudere e ha detto che il file code.bat non è stato trovato. Quindi il comando changedir ha funzionato. È possibile eseguire cmd.exe ed eseguire il code.bat con il percorso relativo senza doverti modificare?
non sicuro di aver capito. Hai una cartella di lavoro di Excel che stai salvando come file batch e poi stai cercando di eseguire il file "Excel" come .bat? – InContext
La stringa "&&" in "" && code.bat "' dovrebbe significare qualcosa di speciale o è davvero parte del nome del file? – RBarryYoung