К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Как убить внешний процесс из Excell?

Гость
0 - 18.03.2015 - 17:35
Ппожалуйста подскажите, очень нужно убить внешний процесс минуя реестр (остановить лекгую програмку) из Excell при нулевом значении ячейки.
В VBA - я не особо, заранее спасибо (контакт asda23@mail.ru).



Гость
1 - 19.03.2015 - 12:19
77 - Excel не имеет работать с процессами сам. Лучший инструмент для "прибития" процессов - это скрипт VBS, Shell или Python, который можно вызвать из Excel по событию, отслеживаемому по VBA:

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("СТОПЭ!!").Address Then
Set WshShell = WScript.CreateObject("WScript.Shell")
CheckRun = "Запускаемая программа"
Set WshExec = WshShell.Exec(CheckRun)
WScript.Sleep 5000
WshExec.Terminate
Set WshShell = Nothing
Set WshExec = Nothing    
End If
End sub
Гость
2 - 19.03.2015 - 12:21
Для отслеживания 0 изложить так 2-ю строку:

If Target.Address = Range("СТОПЭ!!").Address And Target.Value = 0 Then
Гость
3 - 21.03.2015 - 20:19
За это кстати теоретикам Офиса нужно руки оторвать.
Гость
4 - 22.03.2015 - 19:35
Цитата:
Сообщение от economist Посмотреть сообщение
Excel не имеет работать с процессами сам
Его можно научить это делать. В Эксель через Declare Function легко подключать внешние dll, в том числе api windows, и с их помощью делать почти все, в том числе убивать внешние процессы.
Гость
5 - 23.03.2015 - 12:17
Немного реабилитирую VBA: если процесс ЗАПУСКАТЬ самим VBA - то и "прибить" его изнутри (силами VBA) почти всегда можно, путем закрытия объекта.

Офис с VBA итак сильно опасный в плане вандализма, макросы исполняются с повышенными привилегиями, файлы удалятся не в корзину, и если еще разрешить ему убивать процессы - то получится идеальная среда для написания вирусни...
Гость
6 - 24.03.2015 - 10:48
все получилось с подключением библиотек dll для эксперимента в XP/32 и XP/64, на Win8/64 - не работает.
Гость
7 - 27.03.2015 - 00:14
6-77 > Ну дык, сообразили наконец чуваки, что тут что-то не так. :)
Гость
8 - 17.05.2015 - 22:51
Интересно


К списку вопросов






Copyright ©, Все права защищены