Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запуск Excel Application без перехода фокуса на приложение. / 10 сообщений из 10, страница 1 из 1
21.01.2011, 16:30
    #37071898
Oleg_Slip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
Добрый день. Подскажите пожалуйста есть ли свойство у Excel Application которое овечает за то чтобы после запуска фокус не переходил на него. Суть проблемы: я запускаю Excel как оле-объект из Оракл Формс и мне надо чтобы ексель-приложение не становилось активным поверх всех окон.
С помощью метода ole2.set_property я могу задать любое свойство для созданных объектов типа Application или Workbooks из тех которые у них имеются.
Вот кусок кода который вызывает книгу ексель:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
   DIR:=DIR||'\'||Doc||'.xls';
   MyApplication := ole2.create_obj('Excel.Application');
   ole2.set_property(MyApplication, 'Visible',  1 );
   WorkBooks := ole2.get_obj_property(MyApplication, 'Workbooks');   
   /*open*/
   args := ole2.create_arglist;
   ole2.add_arg(args,DIR);
   WorkBook := ole2.invoke_OBJ(WorkBooks, 'Open', args);
   ole2.destroy_arglist(args);
...
Рейтинг: 0 / 0
21.01.2011, 17:00
    #37072000
qwrqwr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
Oleg_SlipВот кусок кода который вызывает книгу ексель:
Код: plaintext
1.
2.
3.
...
   ole2.set_property(MyApplication, 'Visible',  1 );
...

А если без вот этой строчки?
...
Рейтинг: 0 / 0
21.01.2011, 20:42
    #37072435
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
qwrqwr,

А еще можно эту же строку видоизменить(на всякий случай - вдруг приложение запускается в видимом режиме)

Код: plaintext
ole2.set_property(MyApplication, 'Visible',  0 );
...
Рейтинг: 0 / 0
24.01.2011, 11:39
    #37074842
Oleg_Slip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
Извиняюсь что так поздно отписался. Я пробовал вариант с вызовом без визуализации:
Код: plaintext
1.
2.
3.
   ...
   ole2.set_property(MyApplication, 'Visible',  0 );
   ...
но мне надо чтобы ексель-приложение визуализировалось чтобы в случае ошибки выполенения отследить ошибку но не фокусировалось чтобы не мешать работать с другими программами.
...
Рейтинг: 0 / 0
24.01.2011, 11:49
    #37074891
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
Oleg_Slip,

Application.WindowState = xlMinimized ?
...
Рейтинг: 0 / 0
24.01.2011, 12:09
    #37074992
Oleg_Slip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
big-duke, пробовал такой вариант. книга открывается в свернутом виде, да, но все равно перебирает на себя фокус. там специфика работы такая: оператор запускает формсовую программу которая сначала заполняет таблицу данными а затем запускает несколько книг ексель в которых формируются отчеты. книги автоматически сохраняются на диск и закрываются. этот процесс занимает несколько минут в течении которых оператор работает с другим приложением. и оператору каждый раз приходится после запуска очередной книги возвращать фокус на другое приложение.
...
Рейтинг: 0 / 0
24.01.2011, 12:27
    #37075054
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
Oleg_Slip,

Тогда после запуска Excel принудительно возвращайте себе фокус.
...
Рейтинг: 0 / 0
24.01.2011, 13:44
    #37075314
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
Лично мое мнение: визуализация для отлова ошибки нужна лишь на стадии разработки. На стадии использования программы пользователем он вообще не должен видеть ошибки в том виде, в каком их разглядывает разработчик. Сделайте обработчик ошибок, в котором будет указано на какой строке приложения возникла ошибка. Если она будет - пользователь просто скажет Вам номер строки и все. А сам даже видеть ничего не будет.
И не придется Вам ничего визуализировать, т.к. потребность в этом отпадет.
...
Рейтинг: 0 / 0
24.01.2011, 14:20
    #37075416
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
The_Prist,

поддерживаю, держать "видимым" Excel только для вывода ошибок - слишком накладно.
...
Рейтинг: 0 / 0
24.01.2011, 14:56
    #37075532
Oleg_Slip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск Excel Application без перехода фокуса на приложение.
Всем спасибо. Запускаю приложение без визуализации. Пользователь из двух вариантов "или так" и "если не так то никак" выбрал первый вариант.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запуск Excel Application без перехода фокуса на приложение. / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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