Решения VBA и Office в Visual Studio сравниваются
В Microsoft Visual Basic для приложений (VBA) используется неуправляемый код, который тесно интегрирован с приложениями Office. Проекты Microsoft Office, созданные с помощью Visual Studio, позволяют воспользоваться преимуществами платформы .NET Framework и средств разработки Visual Studio.
Сведения о типах решений Office, которые можно создать с помощью Visual Studio, см. в обзоре разработки решений Office (VSTO).
Сравнение
В следующей таблице приводится общее сравнение решений VBA и решений Office в Visual Studio.
Решения VBA | Решения Office в Visual Studio |
---|---|
Использует код, который связан с конкретным документом и сохраняется с ним. | Использует код, хранящийся отдельно от документа (для настроек на уровне документа) или в сборке, загруженной приложением (для надстроек VSTO). |
Работает с объектными моделями Office и программными интерфейсами VBA. | Предоставляет доступ как к объектным моделям Office, так и к платформа .NET Framework API. |
Предназначен для записи макросов и упрощения процесса разработки. | Предназначен для обеспечения безопасности, упрощения поддержки кода и использования полной интегрированной среды разработки (IDE) Visual Studio. |
Хорошо подходит для решений, которые получают выгоду от тесной интеграции с Приложение Office ликации. | Хорошо подходит для решений, которые пользуются полными ресурсами Visual Studio и платформа .NET Framework. |
Имеет ограничения при использовании на предприятиях, особенно в области безопасности и развертывания. | Предназначен для использования на предприятиях. |
Некоторые задачи по-прежнему проще и быстрее выполнить с помощью VBA. В частности, VBA может быть необходимо использовать для:
настраиваемых функций для работы с листами.
записи макросов.
Объединение решений VBA и решений Office, созданных с помощью Visual Studio
Код VBA можно вызывать из решений Office, созданных с помощью Visual Studio. Также можно вызывать код в решениях Office, созданных с помощью Visual Studio, из VBA. Конкретная методика зависит от того, является ли ваше решение Office надстройкой VSTO или настройкой на уровне документа. Дополнительные сведения см. в разделе "Код вызова" надстроек VSTO из других решений Office и объединения настроек VBA и уровня документов.