Как включить существующий код VBA из XLAM в C # VSTO добавить в

1

У меня есть xlam с кодом VBA в нем, который предоставляет функции через ленточную группу под названием "Группа 1" и отдельный С# VSTO для Excel, который предоставляет функции через ленточную группу под названием "Группа 2".

Я хотел бы переместить некоторые функции из файла VBA и в С#.

a) Могу ли я "включить" VBA в С# так или иначе, так что мне не нужно идти и переносить все на С#? б) Могу ли я создать элементы/кнопки группы ленты в С# add, но вернуть код к файлу.xlam?

Я видел эту ссылку (http://msdn.microsoft.com/en-us/library/dd465290(VS.100).aspx), которая, похоже, говорит о публикации нескольких решений, которые я не думаю, m after - хотя будет ли этот метод работать для развертывания.xlam из приложения VSTO (и, по крайней мере, упростить развертывание пакета?

Теги:
excel-vba
excel
vsto

1 ответ

2
Лучший ответ

Могу ли я "включить" VBA в С# так или иначе, так что мне не нужно идти и переносить все на С#?

Простой ответ - нет, вы не можете.

Вам нужно будет переписать логику на С# (или VB.NET, если ваша надстройка "Group2" уже основана на VB.NET) в надстройке VSTO (предполагая, что она является надстройкой приложения). Не пугайтесь, но это должно быть весело и легко + вы будете изучать основы С# во время этого. Если вы хорошо разбираетесь в VBA, то это преимущество для вас, потому что вы, скорее всего, уже поймете объектную модель Excel.

Могу ли я создать элементы/кнопки группы ленты в С# add, но вернуть код к файлу.xlam?

Нет. Вы можете захотеть найти Редактор пользовательского интерфейса, если вы планируете добавлять или модифицировать ленту исключительно из С#.

Тогда вы можете создать свою пользовательскую ленту в Visual Studio, а затем скопировать и вставить XML в Редактор пользовательского интерфейса, чтобы добиться почти одинакового внешнего вида. Преимущество, которое вы получаете в Visual Studio, - это intelli-sense!

За хорошую прогулку по Редактору пользовательского интерфейса и создание ленты см. Ron De Bruin wesite

  • 0
    Вторая ссылка VSTO & C # идеально подходит, спасибо! Смотрите раздел статьи под названием «Вызов макросов VBA с использованием C #»; у нас уже есть рабочая книга с макросами, загруженными при открытии Excel, поэтому я должен иметь возможность ссылаться на нее, используя эту методологию.
  • 0
    (в любом случае в краткосрочной перспективе; в более отдаленной перспективе я перенесу его обратно в VSTO изначально)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню