|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.10.2012, 23:35 | #1 |
Новичок
Джуниор
Регистрация: 21.10.2010
Сообщений: 2
|
Надстройка DLL (XLL) с формой для Excel (без VBA)
Приветствую всех.
Стоит задача написания надстройки для 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/libr.../bb687911.aspx Но без примера кода простейшей DLL сложно что-то понять. VSTO - пробовал создавать такие надстройки в Visual Studio 2010, но этот вариант остается на крайний случай, т.к. требуется установка дополнительного ПО, что сложно, с точки зрения развертывания. Я ни за что не поверю, что нет стандартных приемов, при которых пишется простейший код, экспортируются нужные функции в DLL, все это компилируется и подключается к Excel c помощью Меню > Надстройки > Подключить ... Помогите, пожалуйста, найти правильную дорожку, ведь наверняка не мало народу подобными вещами озадачиваются. С уважением, Андрей |
08.10.2012, 02:10 | #2 | |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
а хабр почитать?
Руководство по созданию Excel add-in для начинающих VSTO и CAB: Интеграция .NET приложения в Microsoft Word Цитата:
Еще мне не понятно следующее: ты собрался писать dll, следовательно кидать ее придется на системный диск. При этом ты пишешь: Также не ясно, поддержка каких ОС требуется. Может ты пишешь для Mac...
Тишина – самый громкий звук
Последний раз редактировалось nerv; 08.10.2012 в 02:16. |
|
08.10.2012, 03:42 | #3 |
Форумчанин
Регистрация: 10.02.2012
Сообщений: 109
|
Louken а не приведёте ли пример - как в xla создать на ленте Excel 2007-2010 пользовательскую вкладку-группу-кнопку и обработчик нажатия на кнопку (для xlam всё понятно - CustomUI.xlm)?
С дисками - Windows NT использует систему монтирования аналогичную nix, буквы дисков наследие старых времён. Мне попадалась машина, где диском С был CD-RW - нормально работала. Для разработки расширений для Excel под .Net посмотрите в сторону ExcelDNA. Наверняка у вас на компьютерах установлены версии .Net Framework 2 и выше. Можно посмотреть в папке Windows\Microsoft.Net, что уже установлено. |
08.10.2012, 12:10 | #4 | ||||||
Новичок
Джуниор
Регистрация: 21.10.2010
Сообщений: 2
|
Прошу прощения, если мой пост, вызвал недопонимание.
nerv Цитата:
http://msdn.microsoft.com/ru-ru/libr...(v=vs.90).aspx а это в моем случае трудная задача. Потому ищу другие пути. Цитата:
Цитата:
Цитата:
AndVGri Цитата:
Цитата:
|
||||||
08.10.2012, 15:19 | #5 |
Форумчанин
Регистрация: 10.02.2012
Сообщений: 109
|
Louken
Всё течёт, всё меняется краткое описание по ExcelDNA. Можете посмотреть ещё и этот проект Net Offce - разработка расширений для всех программ офиса, не зависимо от версии, включая 32 или 64-битная платформы. Последний раз редактировалось AndVGri; 08.10.2012 в 15:20. Причина: ошибка в названии |
08.10.2012, 15:37 | #6 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
и вообще, если кажется, что чего-то нет, задумайтесь - может Вы об этом просто не знаете...
Правильно поставленная задача - три четверти решения.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VBA excel не удается закрыть и сохранить книгу без возникновения диалогового окна | Tvilla | Помощь студентам | 2 | 28.06.2012 11:01 |
Вопрос по Надстройка для MS Excel «Простой прогноз» (Forecast 1. xla). | sosed | Microsoft Office Excel | 1 | 03.02.2011 23:27 |
excel+vba странности взаимодействия при сохранении книги без макросов | alvazor | Microsoft Office Excel | 7 | 06.07.2009 17:22 |
Excel без VBA | kwvdr | Microsoft Office Excel | 1 | 26.12.2008 20:11 |
Надстройка PLEX для Microsoft Excel | PLEX for free | Microsoft Office Excel | 0 | 28.05.2008 17:19 |