:: Visual Foxpro, Foxpro for DOS
Как узнать запущен ли процесс OpenOfficeCalc
OlegA
Автор

Сообщений: 536
Откуда: Иркутск
Дата регистрации: 22.06.2001
Поиском не смог найти ответ, поэтому создал тему.
Процедура следующая, надо открыть и прочитать данные из файла при помощи OpenOfficeCalc.
В конце процедуры закрыть файл, и если у пользователя не был запущен OpenOfficeCalc то закрыть и сам OpenOffice.
Вопрос, как определить был ли запущен OpenOffice.
Ratings: 0 negative/0 positive
Re: Как узнать запущен ли процесс OpenOfficeCalc
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
А если программа загрузки работала продолжительное время, и за это время пользователь решил воспользоваться Calc'ом на другой табличке? Пользователь даже не поймет, как так получилось.

И да, вы экземпляр Calc через COM открываете? Может вам научиться его закрывать корректно?
Ratings: 0 negative/0 positive
Re: Как узнать запущен ли процесс OpenOfficeCalc
OlegA
Автор

Сообщений: 536
Откуда: Иркутск
Дата регистрации: 22.06.2001
Так я и прошу, что бы подсказали как корректно закрыть.
Ratings: 0 negative/0 positive
Re: Как узнать запущен ли процесс OpenOfficeCalc
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Для экселя я всегда открывал новый экземпляр (даже если эксель уже и запущен), и его же и закрывал по завершении работы. Как раз для того чтобы не мешать пользователю, если он вдруг решит поработать во время формирования отчёта. С теми же целями стараюсь не использовать буфер обмена (clipboard) для передачи информации...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как узнать запущен ли процесс OpenOfficeCalc
AndyNigmatec

Сообщений: 1574
Откуда: Волгоград
Дата регистрации: 28.06.2015
Игорь имеет в виду что открываем (создаем экземляр эксель) через CREATEOBJECT(), т.е. типа (пунктирно) так:

LOCAL loExcel
loExcel=CREATEOBJECT("EXCEL.APPLICATION")
*lxlsversion=VAL(loExcel.Version)
loExcel.Visible=.F.
loExcel.EnableEvents=.T.
loExcel.DisplayAlerts=.F.
... делаем что надо ...
loExcel.Quit
Ratings: 0 negative/0 positive
Re: Как узнать запущен ли процесс OpenOfficeCalc
OlegA
Автор

Сообщений: 536
Откуда: Иркутск
Дата регистрации: 22.06.2001
Изначально вопрос был про OpenOffice.
Я и прошу помощи как правильно закрыть только свой экземпляр OpenOffice.
При выполнение команды oDesktop.terminate идет закрытие всех документов открытых в OpenOffice
Ratings: 0 negative/0 positive
Re: Как узнать запущен ли процесс OpenOfficeCalc
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Не исключено, что oDesktop у OpenOffice в единственном экземпляре. Значит надо закрыть документ по Close и прибить на него ссылки.
Если при этом на Desktop не осталось других компонент, можно его и Terminate.

Desktop > getComponents() > createEnumeration() > hasMoreElements()
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 24 pasha_usue Alsim  (Гостей: 22)

© 2000-2024 Fox Club 
Яндекс.Метрика