Mam problem z makrem programu excel vba. Potrzebuję go do wykonania pliku wsadowego, który jest w tym samym folderze co skoroszyt programu excel. Kod czasami działa dobrze. Nie wiem, co powoduje błąd. Oto kod:Wykonaj plik .bat z programu 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
Zapisuje plik wsadowy, ale go nie wykonuje. Tylko raz, gdy okno poleceń nie zamknęło się i powiedział, że nie można znaleźć pliku code.bat. Polecenie changeir zadziałało. Czy można uruchomić cmd.exe i uruchomić plik code.bat ze względną ścieżką bez konieczności zmiany?
nie bardzo rozumiem. Masz skoroszyt programu Excel, który zapisujesz jako plik wsadowy, a następnie próbujesz uruchomić plik "Excel" jako plik .bat? – InContext
Czy ciąg znaków "&&" w "&& code.bat" ma znaczyć coś specjalnego, czy jest to rzeczywiście część nazwy pliku? – RBarryYoung