C # Excel добавить в качестве DLL - PullRequest
0 голосов
/ 17 июля 2009

привет, я использую vs2008 + vsto для создания надстройки Excel (ленты) ... Можно ли сделать это DLL, как myaddin.dll, так что пользователи должны будут только добавить эту DLL ... и использовать, или вы можете предложить какой-либо лучший подход, большое спасибо!

Ответы [ 4 ]

1 голос
/ 23 июля 2009

Чтобы исправить вышеприведенные комментарии ...

  1. GAC сборка не требуется, однако регистрация сборки для автоматизации COM необходима. Как указывалось выше, этого легче всего достичь, используя документ MSDN doco для надстроек EXCEL Com и проект установки для развертывания необходимых ключей. Преимущество строгого именования и GACing сборки состоит в том, что она будет полностью доверенной, это может быть более простым (для некоторых пользователей) способом обхода исключений разрешений (чем использование CAS). Однако на практике, если вы не продаете свой аддин внешне, это не ограничитель показа.

  2. XLA / XLAM не требуется, это альтернатива использованию надстройки COM (VB6, c ++ или .net). XLA - это более легкий вариант, если вы хотите быстро разработать и создать решение.

1 голос
/ 20 июля 2009

Да, вы можете. Однако библиотеки DLL, используемые в Excel, должны быть включены в GAC, а некоторые ключи реестра должны быть изменены (в основном, сообщая Excel, где найти библиотеку DLL). Так что лучше всего использовать установку для установки DLL. Процесс несколько сложен и лучше всего описан здесь и продолжен здесь .

0 голосов
/ 17 июля 2009

Вы можете сделать это, написав надстройку Excel в C # как объект автоматизации COM. Затем, когда вы переходите к диалогу надстроек в Excel, вы можете выбрать COM-объект или перейти к Com .dll. Excel создаст экземпляр объектов, которые вы затем можете вызвать.

0 голосов
/ 17 июля 2009

Насколько я знаю, надстройка Excel должна быть файлом xla / xlam. Вы можете вызвать dll из xla, но вам все равно понадобится xla.

...