powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Выгрузка из Forms в EXCEL блокирует EXCEL
8 сообщений из 8, страница 1 из 1
Выгрузка из Forms в EXCEL блокирует EXCEL
    #39178400
oracletbm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Может кто подскажет как решить такую задачу:

Есть выгрузка из FORMS-ов в EXCEL с помощью шаблона с макросами.
Макросы достаточно сложные, в том числе обращаются к другому шаблону PowerPoint со своими макросами.

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

В общем выгрузка из FORMS-ов в EXCEL блокирует параллельную работу с EXCEL-ем...

Можно это как-то обойти? Есть возможность запускать совершенно независимый экземпляр EXCEL, который никак не будет влиять на другие процессы с EXCEL ?

Спасибо!
...
Рейтинг: 0 / 0
Выгрузка из Forms в EXCEL блокирует EXCEL
    #39178492
OldBoyOdeSu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oracletbm,

Выяснить, есть ли вообще возможность запустить отдельный инстанс Exel, это можно понять например путём анализа Command-line parameters to the startup Exel, для MS Word например это /w, для Exel вроде только с 2013 версии /x параметр, т.е. если у пользователя офис младшей версии, то такое уже не провернуть в принципе.
Если всё так, то тогда надо искать другие пути, например блокировать форму на время генерации отчёта, пересмотреть сам принцип генерации отчёта и т.д.
...
Рейтинг: 0 / 0
Выгрузка из Forms в EXCEL блокирует EXCEL
    #39178507
OldBoyOdeSu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё идея, можно посмотреть в сторону
WEBUTIL_HOST (для 6 формсов какая-то подобная либа тоже была) и его API, например FUNCTION Blocking(cmd in VARCHAR2) return PROCESS_ID;
вызывать Exel через cmd и подсовывать шаблон с макрасами
...
Рейтинг: 0 / 0
Выгрузка из Forms в EXCEL блокирует EXCEL
    #39178659
oracletbm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OldBoyOdeSuoracletbm,

Выяснить, есть ли вообще возможность запустить отдельный инстанс Exel, это можно понять например путём анализа Command-line parameters to the startup Exel, для MS Word например это /w, для Exel вроде только с 2013 версии /x параметр, т.е. если у пользователя офис младшей версии, то такое уже не провернуть в принципе.
Если всё так, то тогда надо искать другие пути, например блокировать форму на время генерации отчёта, пересмотреть сам принцип генерации отчёта и т.д.

Спасибо.

Office 2013 года, т.е. теоретически параметр "/x" при запуске EXCEL наверно поможет...
Но как указать данный параметр при открытии EXCEL через OLE ?

Ещё не совсем понимаю принцип работы данного параметра:
1. при открытии EXCEL с данным параметром создаётся полностью отдельный процесс EXCEL, к которому при открытии EXCEL ещё раз уже обращения не будет, т.е. если запустить EXCEL из FORMS-ов с данным параметром, то когда пользователь откроет параллельно какой-нибудь файл EXCEL, то он подцепит уже работающий экземпляр EXCEL или создаст новый?
или
2. данный параметр имеет смысл только при открытии нового экземпляра EXCEL, т.е. этот параметр поможет только если пользователи будут открывать параллельно файлы EXCEL c использованием данного параметра, что разумеется не подходит, т.к. никто из пользователей этим замарачиваться не будет...
...
Рейтинг: 0 / 0
Выгрузка из Forms в EXCEL блокирует EXCEL
    #39178751
OldBoyOdeSu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oracletbm,

- да excel.exe /x - видно что создаётся два процесса в task manager, т.е. отдельные процессы
- я думал он при старте макросами себя как-то генерирует, тогда через командную строку из формсов с помощью WEBUTIL_HOST и запустить. А если через OLE надо... тогда идей нет как "Но как указать данный параметр при открытии EXCEL через OLE ?"
...
Рейтинг: 0 / 0
Выгрузка из Forms в EXCEL блокирует EXCEL
    #39178787
OldBoyOdeSu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://msdn.microsoft.com/en-us/library/office/dn254068.aspx
вот свойства приложения, ед. что бросается в глаза
Application.MergeInstances = False
попробовать
...
Рейтинг: 0 / 0
Выгрузка из Forms в EXCEL блокирует EXCEL
    #39178829
oracletbm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OldBoyOdeSu,

Спасибо. Попробую.

Вышесказанное дало ещё идею - т.к. при создании EXCEL через OLE используется OLE2.CREATE_OBJ('Excel.Application'), то видимо стандартно всегда создаётся новый процесс EXCEL, а это уже при ручном открытии EXCEL, если уже есть запущенный процесс, то он и цепляется, вместо создания нового.

Т.е. попробую создавать сразу 2 объекта Excel.Application.
Вроде как идея сработала - открываемые файлы цепляют 1-ый запущенный процесс EXCEL, который я не использую.

Хочется верить, что открываемый пользователями EXCEL будет цеплять всегда 1-оый процесс, а не в хаотичном порядке...
...
Рейтинг: 0 / 0
Выгрузка из Forms в EXCEL блокирует EXCEL
    #39185906
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну у Excel есть еще такое свойство, как работает, из описания не очень понятно:

Application.MergeInstances Property
https://msdn.microsoft.com/en-us/library/office/dn481210.aspx
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Выгрузка из Forms в EXCEL блокирует EXCEL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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