Вызов надстроек Visual Studio Excel из Excel 2007 - PullRequest
1 голос
/ 27 ноября 2010

Я очень новая Visual Studio (только что скачанная версия 2010 Professional), но я считаю, что это правильный способ сделать веб-сервисы в Excel.

Создал надстройку Excel 2007 под названием TestAPI в Visual Studio, содержащую только один класс ThisAddIn, 2 процедуры запуска по умолчанию и завершения работы и 2 функции, которые я написал сам, например, f1 и f2.

Когда я запускаю Excel 2007 и проверяю параметры Excel, я вижу его как COM-надстройку, но как я могу увидеть эти 2 функции в VBA? Любые ссылки либо на ThisAddIn, либо на TestAPI, либо на f1 или f2 все терпят неудачу, но если я добавлю что-то в функции StartUp, это будет автоматически выполняться всякий раз, когда я запускаю Excel, что я считаю довольно раздражающим. Кажется, что надстройки COM включены / выключены на уровне Excel, тогда как я не могу найти TestAPI где-либо в моем списке в списке ссылок (где я мог бы проверить или снять флажок по мере необходимости в зависимости от листа Excel).

Возможно, мне не хватает (или нескольких) точек.

Ответы [ 2 ]

2 голосов
/ 30 ноября 2010

У Пола Стаббса есть некоторая информация о вызове VSTO UDF из VBA на его блоге .

В качестве альтернативы, вы можете попробовать создать более простую надстройку COM для Excel, как описано Eric Carter .

Мое личное предпочтение для создания пользовательских функций - использовать ExcelDna .

0 голосов
/ 30 ноября 2010

Вы объявили F1 и F2 Public?В классе ThisAddin

Public Shared Function F1(x as Object) as Object
  Return x*2
End Function

(я не уверен, требуется ли Shared в VSTO, я использую Addin Express, VSTO - такая боль)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...