Сообщество программистов Autodesk в СНГ

ADN Club => AutoLisp / VisualLISP и DCL => Тема начата: altver от 01-09-2024, 13:27:07

Название: открытое приложение
Отправлено: altver от 01-09-2024, 13:27:07
добрый день, господа!
возможно ли лиспом определить, или приложение EXCEL открыто?
Спасибо!
Название: Re: открытое приложение
Отправлено: Александр Ривилис от 01-09-2024, 20:34:24
Проверь результат в случае если Excel запущен и если не запущен:
Код - Auto/Visual Lisp [Выбрать]
  1. (vlax-get-object "Excel.Application")
Название: Re: открытое приложение
Отправлено: altver от 02-09-2024, 12:11:02
мне не понятно
че-то не рабтает...
мои действия такие:
1 открываю новый чертеж
2 провряю и получаю nil
3 запускаю EXCEL
4 провряю и получаю объект
5 выключаю EXCEL
6 провряю и опять  получаю объект
и все, в этм чертеже постянно бует выдаваться объект независим от того, запущен EXCEL или нет...
Название: Re: открытое приложение
Отправлено: Александр Ривилис от 06-09-2024, 21:01:50
мне не понятно
че-то не рабтает...
и все, в этм чертеже постянно бует выдаваться объект независим от того, запущен EXCEL или нет...
Тогда так:
Код - Auto/Visual Lisp [Выбрать]
  1. (if (/= (setq excel (vlax-get-object "Excel.Application")) nil)
  2.  (progn
  3.    (alert "Excel запущен!")
  4.    ;; Освобождаем объект Excel - в противном случае
  5.    ;; при выходе из Excel он будет висеть в процессах
  6.    (vlax-release-object excel)
  7.    (gc)
  8.  )
  9.  (progn
  10.    (alert "Excel не запущен!")
  11.  )
  12. )
  13.