Добрый день Как из макроса закрыть все процессы Excel? Есть несколько отдельных процессов, в каждом процессе открыто по несколько файлов. Возможно есть скрытые процессы - их тоже закрыть все и полностью очистить память Нашел такой код, по описанию к нему код должен был решить задачу, но при запуске зависает и ничего не закрывает. Возможно код не решает моих задач, описание было на английском, поэтому возможно что-то не так понял:
Код
Sub CloseAllExcel()
Dim xlApp As Excel.Application
Do
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err <> 0 Then Exit Do '-- no more Excel instant
On Error GoTo CloseAllExcel_Error
xlApp.DisplayAlerts = False
xlApp.Quit
Loop
Set xlApp = Nothing
Exit Sub
CloseAllExcel_Error:
MsgBox Err.Number & ": " & Err.Description
End Sub
Sub KillThemAll()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim f As String
f = ThisWorkbook.Path & "\kill.bat"
With fso.CreateTextFile(f, True)
Dim i As Long
For i = 1 To 10
.Writeline "taskkill /f /im excel.exe"
Next
.Writeline "DEL """ & f & """"
.Close
End With
Shell f, vbHide
End Sub