Мяв!
Имеется макрос, работающий с файлами, открытыми в разных процессах.
команда
закрывает приложение, но в диспетчере продолжают болтаться лишние процессы.
Накропал код, который, вроде, позволяет убить лишние процессы.
Однако, остался вопрос, как определить процесс, из которого запущен макрос?
Имеется макрос, работающий с файлами, открытыми в разных процессах.
команда
Код |
---|
xl.Quit |
закрывает приложение, но в диспетчере продолжают болтаться лишние процессы.
Накропал код, который, вроде, позволяет убить лишние процессы.
Код |
---|
Sub Test() Dim myPrC, myProg Set myProg = GetObject("winmgmts:") Set myPrC = myProg.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'EXCEL.exe'") For Each x In myPrC Debug.Print x.Name & " " & x.ProcessID ' If x.ProcessID <> 3624 Then x.Terminate ' If x.Name = "EXCEL.EXE" Then Stop Next End Sub |
Однако, остался вопрос, как определить процесс, из которого запущен макрос?