C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Надстройки, Функции
xim
Отправлено: 19.05.2005, 16:54


Станционный диспетчер

Группа: Участник
Сообщений: 143



Excel.

Возникла необходимость реализации надстройки (Application.AddIns). Работать с ней предстоит простым пользователям, для которых вводить функции ручками очень лень. Стандартный набор функций, добавляемых мастером (с выбором range-й ...), реализован Micro$oft фиксированно — не расширяется. Кто-как-когда_нибудь решал данную проблему?

1 видимое решение: создать свой мастер, добавить панель инстр., кнопку на нее, по нажатии звать мастер
Вроде кривовато sad.gif

Отредактировано xim — 19/05/2005, 16:57
GIZMO
Отправлено: 10.06.2005, 09:53


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (xim @ 19/05/2005, 16:54)
Excel.

Возникла необходимость реализации надстройки (Application.AddIns). Работать с ней предстоит простым пользователям, для которых вводить функции ручками очень лень. Стандартный набор функций, добавляемых мастером (с выбором range-й ...), реализован Micro$oft фиксированно — не расширяется. Кто-как-когда_нибудь решал данную проблему?

1 видимое решение: создать свой мастер, добавить панель инстр., кнопку на нее, по нажатии звать мастер
Вроде кривовато sad.gif

Проблема в чем? Создать add-in или реализация новых функций?
xim
Отправлено: 10.06.2005, 10:22


Станционный диспетчер

Группа: Участник
Сообщений: 143



Да, в общем-то, проблема исчерпана (все уже реализовано).

Набор функций Excel можно расширить командой VBA:
CODE

 Application.MacroOption Macro:="имя функции VBA", Description:="описание", Category:=1 ...


Функции выполняются в форме batch-скриптов под MSSQLServer, которые хранятся в реестре. ам же описаны все нужные функции. Скрипты возвращают набор рекордсетов, которые возвращаются в выделенные Range. При необходимости выполняется ч/з VBE генерирование функций, добавляемых в стандартный мастер.

Осталась 1 проблема — на каком этапе лучше проводить синхронизацию с реестром, если набор необходимых для работы пользователей функций постоянно расширяется.

Сейчас это решено кнопкой на панели инструментов. Обдумывал вариант обновления при каждой загрузке надстройки — но это слишком пошло.
GIZMO
Отправлено: 14.06.2005, 09:35


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (xim @ 10/06/2005, 10:22)
...
Осталась 1 проблема — на каком этапе лучше проводить синхронизацию с реестром, если набор необходимых для работы пользователей функций постоянно расширяется.

Сейчас это решено кнопкой на панели инструментов. Обдумывал вариант обновления при каждой загрузке надстройки — но это слишком пошло.

А че пошло-то, нормально или набор функций изменяется в процессе работы юзера?
xim
Отправлено: 14.06.2005, 15:38


Станционный диспетчер

Группа: Участник
Сообщений: 143



Может изменяться (по крайней мере список меняется отдельным софтом) — кто поймет этих user-ов?
Окончательный вариант — синхронизация при загрузке надстройки и по нажатии кнопки.

Вернуться в Технологии COM/DCOM, ActiveX