powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / форма для отчета на Экселе
10 сообщений из 10, страница 1 из 1
форма для отчета на Экселе
    #33845232
A/\EKC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Передача данных из программы в эксель осуществляется средствами OLE:
a=CreateObject('EXCEL.Application'), далее происходит непосредственно передача данных. В результате после окончания передачи я показываю результат в экселе (VISIBLE=.T.). Таким образом, эксель с основной программой никак не связан (эксель появляется отдельным окном на панели задач, выход из программы не завершает приложение экселя). Возможно ли книгу экселя запускать на форме внутри программы так чтобы приложение экселя было дочерним по отношению г основной программе, например при создании объекта CreateObject('EXCEL.Application') передавать в качестве параметра объект-форму-создатель приложения экселя чтоб при уничтожениии этой формы уничтожалось и приложение экселя?
...
Рейтинг: 0 / 0
форма для отчета на Экселе
    #33845248
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как раз наоборот, нужно в фоксе хранить указатели на созданные Эксель-объекты и убивать их при закрытии программы. А для этого они (указатели) должны быть PUBLIC.
...
Рейтинг: 0 / 0
форма для отчета на Экселе
    #33845309
A/\EKC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а чтоб не было значка экселя на панели задач и приложение экселя переремещалось только в пределах основного окна фокса (дочернее окно приложения экселя) реально сделать?
...
Рейтинг: 0 / 0
форма для отчета на Экселе
    #33845324
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реально положить лист экселя на форму и выводить отчет в него, но выглядит он не особо презентабельно, когда контрол экселя не активен.
...
Рейтинг: 0 / 0
форма для отчета на Экселе
    #33845381
A/\EKC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется в виду ActiveX Control (OleControl)? Да, в том то все и дело что некрасиво получится, вот я и предположил что существует способ при CreateObject('EXCEL.Application') передать в качестве параметра объект, который вызвал создание эксель-приложения.
Корень вопроса вот в чем: сформированный отчет у меня взаимодействует с программой по средствам перехвата события WorkbookEvents_SheetBeforeDoubleClick(Sh AS VARIANT, Target AS VARIANT, Cancel AS LOGICAL @) AS VOID (так я сделал расшифровку ячейки Экселя).
При ДБЛКлике на ячейку у меня выполняется подпрограмма: запускается форма с параметром значения в этой ячейке (Target). При этом естесственно не происходит активация основного окна ФоксПро, активное остается приложение Эксель. Поэтому после ДБЛКлика приходится самостоятельно переходить в окно ФоксПро. Это, естественно, неудобно для пользователя.
...
Рейтинг: 0 / 0
форма для отчета на Экселе
    #33846492
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi A/EKC!

В винде можно практически любое окно засунуть внутрь другого окна - это
элементарный АПИ вызов - вот получить хэндлы обоих окон порой бывает
довольно сложно - насколько это в результате будет красиво и удобно я умолчу
:)

> При этом естесственно не происходит активация основного окна ФоксПро

Опять же при помощи АПИ можно активировать нужное окно - правда тут могут
быть небольшие заморочки от ОС - в современной винде есть такая фишка, как
борьба с программами "ворующими" фокус - ну это когда ты себе спокойно
набиваешь текст, а какая-то нехорошая утилита "всплывает" в некоторый момент
и получается что добрый кусок твоего текста уходит "не туда" (или вообще "в
никуда").

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
форма для отчета на Экселе
    #33846520
ДП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 АЛЕКС
можете попробовать DsoFramer.OCX
Заточен для показа офисных документов
...
Рейтинг: 0 / 0
форма для отчета на Экселе
    #33846829
A/\EKC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Igor Korolyov, вы не погли бы привести пример кода программы, как с помощью АПИ можно одно окно по Hwnd засунуть в другое? Форму в основной программе можно создать динамически, определить у нее Hwnd, а так же можно узнать Hwnd у объекта созданного: CREATEO('EXCEL.APPLICATION'), так что возможно это именно то что мне нужно.
...
Рейтинг: 0 / 0
форма для отчета на Экселе
    #33846838
A/\EKC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А где можно взять библиотеку DsoFramer.OCX?
Если это возможно, пришлите мне, пожалуйста на ящик :
zaharov-aa@sarts.votgk.com
...
Рейтинг: 0 / 0
форма для отчета на Экселе
    #33848263
A/\EKC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Воспользовался АПИ функцией
Declare Long SetParent in Win32API Long ByVal,Long ByVal1
(Переопределяем родителя окна приложения Экселя)
В качестве первого параметра указал приложение Экселя, второй параметр- окно основной программы.
Большое всем спасибо.
Вопрос снят.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / форма для отчета на Экселе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]