Прежде всего, я хочу ответить на ваш вопрос о том, готова ли VSTO для более крупных реализаций. Ответ ДА! Особенно если альтернативой является VBA. У вас есть вся доступная платформа .Net, вы можете использовать веб-сервисы ADO.Net (еще лучше, с корпоративной библиотекой). Вы по-прежнему можете писать код, похожий на VBA, но гораздо более мощный. Вы можете получить дополнительную информацию, прочитав Пошаговое руководство. Создание первой настройки уровня документа для Excel . Эта страница даст вам представление о том, какие функции VSTO доступны для вас.
Теперь, чтобы ответить на ваш вопрос по развертыванию.
Это зависит от того, делаете ли вы надстройку или настройку уровня документа. Если это надстройка, то вы должны установить ее на каждом клиенте, и любой обход документов не повлияет на это (надстройки находятся на уровне приложения, а не на уровне отдельного документа).
Я предполагаю, что вы говорите о настройке уровня документа, поэтому я сосредоточу свой ответ на этом.
Когда вы создаете настройку на уровне документа, сборки не загружаются в файл Excel (как в VBA). Вместо этого добавляется свойство документа, сообщающее приложению, что этот документ содержит файл манифеста (и сообщает ему о местонахождении файла манифеста). Файл манифеста содержит ссылки на сборку, которая составляет вашу настройку.
Как и в любом приложении .Net, иногда существуют другие (упоминаемые) сборки, которые также необходимо развернуть. Не всегда эти сборки находятся в GAC, поэтому они должны быть расположены в той же папке, что и ваша исполняющая сборка (в данном случае, ваша сборка настройки). Однако вам не обязательно размещать сборки в том же месте, что и файл Excel.
Существует несколько способов развертывания настройки .
- Вы можете хранить все сборки и файл Excel в папке и запускать приложение таким образом (если файл Excel передается, пользователи должны передавать всю папку).
- Вы можете запустить программу установки, которая устанавливает сборки в определенную папку на компьютере пользователя и указывает манифест в этом месте (если файл Excel передается, пользователи также должны передавать программу установки).
- Вы можете установить сборки в сетевом расположении и указать в свойствах документа, что манифест и сборки находятся в этом сетевом расположении (если файл Excel передается, ничего не нужно вместе с ним - но есть настройки безопасности, которые необходимо выполнить. Прочитайте эту страницу для получения дополнительной информации).
В любом случае, если вы решите это сделать, здесь есть страница , которую вы должны прочитать, чтобы понять свойства документа, которые включают настройку.
Вы должны убедиться, что у всех ваших пользователей установлены необходимые условия. Самый простой способ сделать это - дать им всем программу установки. Если вы создаете проект установки для своей настройки, вы можете настроить загрузчик для автоматической установки необходимых компонентов. Вы также можете сделать это, если вы используете ClickOnce для установки настройки. Эта страница предоставит вам всю необходимую информацию о развертывании.
Вот еще несколько полезных ссылок, которые вам нужно будет увидеть:
Надеюсь, это поможет. Прочитав всю эту информацию, я думаю, вы согласитесь, что VSTO - гораздо лучший выбор, чем VBA. Вам просто нужно тщательно спланировать развертывание.