Подтвердить что ты не робот

Можно ли написать код Excel VBA в Visual Studio

Есть ли способ написать код VBA в Visual Studio. Если нет других альтернатив?

4b9b3361

Ответ 1

Код VBA для Excel может быть написан только внутри Excel с использованием IDE VBA. Проекты VBA хранятся как часть файла Excel и не могут быть загружены в Visual Studio.

Однако вы можете написать управляемые надстройки VSTO (Инструменты Visual Studio для Office) для Excel с помощью Visual Studio. Следующая страница MSDN охватывает как разработку с VBA, так и VSTO.

Excel для разработчиков

Вы также можете использовать возможности взаимодействия VBA для использования (COM) объекта, написанного в Visual Studio, из вашего кода VBA.

Ответ 2

Лучшее, что вы можете сделать, это согнуть инструмент Visual Basic Office Editor (VBE) по своему вкусу. Если вы остаетесь в нативной среде, вы получаете все возможности для обнаружения ошибок, Intellisense, запуска живого кода и т.д.

Мои советы...

  1. В VBE перейдите в Инструменты> Параметры> вкладка Редактор.
    Отключите "Автоматическую проверку синтаксиса". Вы по-прежнему получаете ошибки с выделенным кодом, но никаких раздражающих всплывающих окон.

  2. Перейдите на вкладку "Формат редактора" и измените шрифт на Consolas (Western), размер 11.

  3. Для отступа кода установите замечательный бесплатный Code Manager. Это добавляет некоторые больные сочетания клавиш.
    enter image description here

  4. Сделайте панель инструментов "Правка" легко доступной для комментирования/снятия комментариев. enter image description here

  5. Используйте Rubberduck для добавления модульного тестирования, контроля исходного кода, проверки кода и функций рефакторинга.

Rubberduck Menu

С этими простыми изменениями вы получите наполовину приличную, полезную и дружественную к клавиатуре среду для написания вашего визуально привлекательного кода. : -D

enter image description here

Ответ 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");

А есть и другие способы удаления/замены строк кода и т.д....