Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Надстройка DLL (XLL) с формой для Excel (без VBA) 
:(
    Опции темы
Louken
  Дата 7.10.2012, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 13.9.2008
Где: Кострома

Репутация: нет
Всего: 1



Приветствую всех.

Стоит задача написания надстройки для MS Excel. Она должна производить форматирование документа, его редактирование и уметь отображать собственные диалоговые окна. Все это в real-time, по нажатию кнопки на панели инструментов Excel.

Решение этой задачи усложняется следующими ограничениями:
1. На компьютерах пользователей надстройки нет прав администратора;
2. Нет возможности поставить дополнительное ПО, вроде MS VSTO, либо долго и нудно просить админов что-либо сделать;
3. Нет доступа к диску C, он попросту невиден для пользователя (есть диск D и сетевые диски);
+ ко всему, надстройка, должна быть, по возможности, универсальной, нужна поддержка версий 2003 - 2010, а в идеале и Open Office.

Как мне видится идеальное решение (задача максимум):
Исполняемый код надстройки написать на Java используя IDE Eclipse (Java+Eclipse - наш корпоративный стандарт). Создать jar файл и подключить его, некоим образом, к Excel и Open Office, как надстройку. Т.е. единый базовый код обработки csv + софто-зависимый код, использующий соответствующий API для доступа и редактирования/форматирования ячеек в таблице (форматирование здесь исключительно для удобства чтения документа). Далее пользователь открывает Excel (Open Office), автоматически подгружается надстройка, которая создает на панели задач кнопку. Пользователь загружает csv, жмет кнопку, видит диалоговое окно и что-то с ним делает.

Попытался найти, что-то более менее юзабельное и не очень сложное - попытка провалилась. Нашел только, как добавлять пользовательские функции, но ими мы вообще не пользуемся. Потому упрощаю себе задачу - Open Office и Java отметаются, остаются Excel + C#. Но, если есть идеи, с удовольствием их выслушаю.

Задача минимум:
Создать универсальную надстройку для Excel (одну для всех версий - 2003-2010). 
На данный момент уже реализована XLA надстройка, с макросами, автоматическим добавлением кнопок в меню (v2003) и на ленту (v2007) и диалоговыми окнами, но далее совершенствовать ее используя VBA, у меня нету мочи, мне не достаточно языковых возможностей и встроенных классов.

Конечно поискал решения и попробовал создать другие виды надстроек:
  • XLL - не смог разобраться, как же нужно реализовать dll, чтобы Excel принял эту библиотечку, как правильную надстройку.
    Нашел здесь некоторую информацию:
    http://msdn.microsoft.com/en-us/library/office/bb687911.aspx
    Но без примера кода простейшей DLL сложно что-то понять.
  • VSTO - пробовал создавать такие надстройки в Visual Studio 2010, но этот вариант остается на крайний случай, т.к. требуется установка дополнительного ПО, что сложно, с точки зрения развертывания.

Я ни за что не поверю, что нет стандартных приемов, при которых пишется простейший код, экспортируются нужные функции в DLL, все это компилируется и подключается к Excel c помощью Меню > Надстройки > Подключить ...
Помогите, пожалуйста, найти правильную дорожку, ведь наверняка не мало народу подобными вещами озадачиваются.

С уважением,
Андрей
PM MAIL ICQ   Вверх
Дмит
Дата 8.10.2012, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 21.4.2006
Где: г.Волгоград

Репутация: 8
Всего: 9



http://www.dimit.pochta.ru/wopr.html#8  есть примеры но VB6.
PM MAIL WWW   Вверх
FINANSIST
Дата 9.10.2012, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Цитата(Louken @  7.10.2012,  15:02 Найти цитируемый пост)
мне не достаточно языковых возможностей и встроенных классов



Louken, что за задачи такие стоят, если языковых возможностей vba для работы excel не   хватает?



--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.1029 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.