Есть ли способ написать код VBA в Visual Studio. Если нет других альтернатив?
Можно ли написать код Excel VBA в Visual Studio
Ответ 1
Код VBA для Excel может быть написан только внутри Excel с использованием IDE VBA. Проекты VBA хранятся как часть файла Excel и не могут быть загружены в Visual Studio.
Однако вы можете написать управляемые надстройки VSTO (Инструменты Visual Studio для Office) для Excel с помощью Visual Studio. Следующая страница MSDN охватывает как разработку с VBA, так и VSTO.
Вы также можете использовать возможности взаимодействия VBA для использования (COM) объекта, написанного в Visual Studio, из вашего кода VBA.
Ответ 2
Лучшее, что вы можете сделать, это согнуть инструмент Visual Basic Office Editor (VBE) по своему вкусу. Если вы остаетесь в нативной среде, вы получаете все возможности для обнаружения ошибок, Intellisense, запуска живого кода и т.д.
Мои советы...
-
В VBE перейдите в Инструменты> Параметры> вкладка Редактор.
Отключите "Автоматическую проверку синтаксиса". Вы по-прежнему получаете ошибки с выделенным кодом, но никаких раздражающих всплывающих окон. -
Перейдите на вкладку "Формат редактора" и измените шрифт на
Consolas (Western)
, размер11
. -
Для отступа кода установите замечательный бесплатный Code Manager. Это добавляет некоторые больные сочетания клавиш.
-
Сделайте панель инструментов "Правка" легко доступной для комментирования/снятия комментариев.
-
Используйте Rubberduck для добавления модульного тестирования, контроля исходного кода, проверки кода и функций рефакторинга.
С этими простыми изменениями вы получите наполовину приличную, полезную и дружественную к клавиатуре среду для написания вашего визуально привлекательного кода. : -D
Ответ 3
Я сам искал ответ на этот вопрос.
Лучшее, что я нашел, это вариант экспорта ect модуля из Excel с кодом, который вы уже написали (или пустым), и загрузить его в среду Visual Studio.
Это не так много, но выделенный текст и автоотчет являются приятными и облегчают чтение по сравнению со стандартной средой VBA.
Затем, как только вы закончите, просто импортируйте его обратно в Excel.
Ответ 4
Вы, конечно, можете добавить и отредактировать файл VBA (.vb) в своем решении Visual Studio, но интеллектуальный смысл будет бесполезным/испорченным. Это расширение для VScode, вероятно, обеспечит гораздо лучший опыт: https://marketplace.visualstudio.com/items?itemName=spences10.VBA
Если ваша цель состоит в том, чтобы код VBA был открыт для контроля исходного кода, чтобы вы могли отслеживать изменения, тогда все же стоит включить его в решение Visual Studio, но просто сохранить этот код VBA в текстовом файле и затем использовать взаимодействие Excel для загрузки. это в соответствующий модуль в книге Excel, например:
xlWorkbook.VBProject.VBComponents["ThisWorkbook"].CodeModule.AddFromFile(@"C:\PathToYour\VBAcode.txt");
А есть и другие способы удаления/замены строк кода и т.д....