Как открыть visual basic в visual studio

Обновлено: 04.07.2024

В комплект Visual Studio . NET входит оперативное справочное руководство, в котором можно найти необходимые сведения о среде разработки Visual Studio , языке программирования Visual Basic , ресурсах . NET Framework и остальных инструментах, входящих в набор Visual Studio . Прежде чем перейти к следующей лекции, в которой вы создадите свою первую программу, потратьте некоторое время на изучение справочной информации.

Доступ к справочной информации можно получить несколькими способами (см. таблицу на следующей странице).

В этом разделе вы также узнаете, как выполнять полнотекстовый поиск по справочной системе Visual Studio . Полнотекстовый поиск полезен, когда нужно разыскать текст по отдельным ключевым словам.

Так как вы только что выполняли упражнение по автоскрытию области элементов, скорее всего система Dynamic Help (Динамической справки) подбирала для вас информацию об области элементов и других ваших действиях. Откройте Dynamic Help (Динамическую справку) и посмотрите.

Получение справки с помощью Dynamic Help (Динамической справки)

Щелкните на закладке Dynamic Help (Динамическая справка) в среде разработки или выберите строку Dynamic Help (Динамическая справка) в меню Help (Справка). Появится окно динамической справки, показанное ниже.


Окно Dynamic Help (Динамическая справка) входит в состав Visual Studio. Его можно перемещать, изменять размер, закреплять или скрывать. Вы можете оставить его всегда открытым или открывать только тогда, когда оно нужно.

Выберите какой-нибудь пункт в окне динамической справки. Скорее всего, это будет текст про область элементов или про окно Properties (Свойства). При этом форма МузВопрос скрывается за закладкой МузВопрос.vb [Design], а в главном окне среды разработки появляется выбранная страница справки.

Просмотрите несколько других статей из списка динамической справки. Обратите внимание, насколько эти темы соответствуют реальным действиям, которые вы выполняете.

Совет. Отбор и показ справочной информации можно настроить. В меню Tools (Сервис) выберите команду Options (Параметры) и в окне свойств раскройте папку Environment (Среда). Затем выберите пункт Dynamic Help (Динамическая справка) и определите, какие темы вы хотите видеть в справке и сколько ссылок будет показано одновременно. Эти настройки помогут вам управлять количеством информации, которую предоставляет справка.

Поиск по всему тексту в справочной системе

  1. В меню Help (Справка) выберите пункт Search (Поиск). В среде разработки появится окно Search (Поиск).
  2. В раскрывающемся списке Look for (Найти) введите "Конструктор форм Windows Forms" и элементы управления (включая кавычки, так как название содержит пробелы).
  3. Поставьте флажок у функции Highlight Search Hits (In Topics) (Выделять в разделах найденные вхождения), а затем нажмите кнопку Search (Поиск). Появится окно Search Results (Результаты поиска), содержащее несколько заголовков статей, соответствующих вашему критерию поиска.

Чтобы увидеть текст статьи, в окне Search Results (Результаты поиска) дважды щелкните мышью на каком-нибудь заголовке. В главном окне появится текст, а слова, которые вы искали, будут выделены цветом, как показано ниже.


Совет. В среде разработки Visual Studio имеется еще два окна, относящиеся к справочной системе - это Contents (Содержание) и Index (Указатель). Чтобы их открыть, выберите команды Contents (Содержание) или Index (Указатель) в меню Help (Справка). Помните, что справочная информация доступна и другими способами. (Cм. таблицу, которая была приведена чуть раньше в этом разделе.)

Каждая лекция этого курса заканчивается разделом под названием "Следующий шаг", в котором рассмотрены дополнительные действия, связанные с рассматриваемым вопросом. А после разделов "Следующий шаг" приводится таблица , в которой представлены важные понятия, обсуждаемые в каждой лекции.

Закончив работу с Visual Studio , сохраните все открытые проекты и закройте среду разработки.

Выход из Visual Studio

Сохраните все изменения, которые вы сделали в вашей программе, щелкнув на кнопке SaveAll (Сохранить все) на стандартной панели инструментов.

В меню File (Файл) щелкните на команде Exit (Выход).

Среда разработки Visual Studio .NET закроется. Теперь настало время перейти к вашей первой программе и "Ваша первая программа" !

Установка Visual Studio 2022

Установка Visual Studio 2022

После завершения установки создадим первую программу. Она будет простенькой. Вначале откроем Visual Studio. На стартовом экране выберем Create a new project (Создать новый проект)

Создание первого проекта в Visual Studio 2022

Проект консольного приложения на VB.NET и .NET 6 в Visual Studio 2022

Далее на следующем этапе нам будет предложено указать имя проекта и каталог, где будет располагаться проект.

Создание первого приложения на VB.NET

В поле Project Name дадим проекту какое-либо название. В моем случае это HelloApp .

Установка VB.NET 16 и .NET 6 в Visual Studio

После этого Visual Studio создаст и откроет нам проект:

Первый проект на Visual Basic .NET

Справа находится окно Solution Explorer , в котором можно увидеть структуру нашего проекта. В данном случае у нас сгенерированная по умолчанию структура.

Далее идет непосредственно сам файл кода программы - Module1.vb . Как раз этот файл и открыт в текстовом редакторе кода.

Рассмотрим код файла Module1.vb :

p>В начале файла идет директива Imports , после которой идет название подключаемого пространства имен. Пространства имен представляют собой организацию функциональности в общие блоки. Например, на первой строке

Команда Imports позволяет импортировать функциональность из других, подключенных библиотек. В частности, здесь подключается функциональность из пространства имен System.

Объявление модуля начинается со слова Module , после которого идет название модуля - в данном случае модуль называется Program:

Завершаться объявление модуля должно выражением End Module . А весь непосредственный код программы должен располагаться между началом объявления модуля и его завершением.

В модуле по умолчанию определен метод Main - это главный метод:

Программа может содержать множество методов, но среди них будет один главный - это метод Main, через который будут вызываться все остальные методы. И метод с данным названием обязательно должен быть в программе.

Метод Main начинается выражением Sub Main , где Sub указывается, что дальше у нас идет метод, который не возвращает никакого значения. Позже мы подробнее разберем, что все это значит. И затем идет название - то есть Main.

Далее в скобках у нас идут параметры метода - args As String() - это массив args, который хранит значения типа String , то есть строки. В данном случае они нам пока не нужны, но в реальной программе это те параметры, которые передаются при запуске программы из консоли.

Метод заканчивается выражением End Sub .

Внутри метода располагаются действия, которые этот метод выполняет:

По умолчанию здесь выполняется одно действие - вызов встроенного метода Console.WriteLine() , который выводит строку на консоль. То есть при выполнении данной программы на консоль будет выводиться "Hello World!"

Теперь мы можем запустить на выполнение с помощью клавиши F5 или с панели инструментов, нажав на зеленую стрелку. И если вы все сделали правильно, то при запуске приложения на консоль будет выведена строка "Hello World!".

Теперь изменим весь этот код на следующий:

Здесь в методе Main вначале идет вызов метода Console.Write("Введите имя:") , он, как и метод Console.WriteLine() выводит на консоль некоторую строку.

Затем с помощью оператора Dim определяется переменная name

Этой переменной присваивается результат другог встроенного метода - Console.ReadLine , который позволяет считать с консоли введенную строку. То есть мы введем в консоли строку (точнее имя), и эта строка окажется в переменой name .

Затем введенное имя выводится на консоль:

Чтобы ввести значение переменной name внутрь выводимой на консоль строки, применяются фигурные скобки <>. То есть при выводе строки на консоль выражение будет заменяться на значение переменной name - введенное имя.

Однако чтобы можно было вводить таким образом значения переменных внутрь строки, перед строкой указывается знак доллара $.

Запустим проект на выполнение с помощью клавиши F5 и после приглашения к вводу введем какое-нибудь имя:

Первая программа на VB.NET в Visual Studio

В этом руководстве по Visual Basic вы будете работать со средой Visual Studio для создания и запуска нескольких разных консольных приложений. Вы также ознакомитесь с некоторыми возможностями интегрированной среды разработки (IDE) Visual Studio.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.

Создание проекта

Сначала мы создадим проект приложения Visual Basic. Для этого типа проекта уже имеются все нужные файлы шаблонов, что избавляет вас от лишней работы.

Откройте Visual Studio 2017.

В верхней строке меню последовательно выберите Файл > Создать > Проект.

Шаблон проекта "Консольное приложение (.NET Core)" в диалоговом окне "Новый проект" в интегрированной среде разработки Visual Studio

Добавление рабочей нагрузки (необязательно)

Вариант 1: использование диалогового окна "Новый проект"

Щелкните ссылку Открыть установщик Visual Studio в левой области диалогового окна Новый проект.

Выбор ссылки "Открыть Visual Studio Installer" в диалоговом окне "Новый проект"

Рабочая нагрузка "Кроссплатформенная разработка .NET Core" в Visual Studio Installer

Вариант 2: использование меню "Сервис"

Закройте диалоговое окно Создать проект и в верхней строке меню выберите Сервис > Получить средства и компоненты.

На некоторых снимках экрана в этом учебнике используется темная тема. Если вы не используете темную тему, но хотите переключиться на нее, см. страницу Персонализация интегрированной среды разработки и редактора Visual Studio.

Запустите Visual Studio.

На начальном экране выберите Создать проект.

Снимок экрана: окно запуска Visual Studio с выбранным вариантом "Создать проект".

В окне Создание проекта выберите Visual Basic в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.

Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.

Снимок экрана: окно &quot;Создать проект&quot;, в котором выбрано Visual Basic, Windows и &quot;Консоль&quot;, отфильтрованные по критериям &quot;Язык&quot;, &quot;Платформа&quot; и &quot;Тип проектов&quot;, и выбран шаблон проекта &quot;Консольное приложение&quot;.

Снимок экрана: рабочая нагрузка "Кросс-платформенная разработка .NET Core" в Visual Studio Installer.

Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.

Снимок экрана: окно &quot;Настроить новый проект&quot; с заданным для поля &quot;Имя проекта&quot; значением WhatIsYourName.

Снимок экрана: окно &quot;Дополнительные сведения&quot; с выбранной платформой .NET Core 3.1 в поле &quot;Требуемая версия .NET Framework&quot;.

Новый проект открывается в Visual Studio.

Запустите Visual Studio.

На начальном экране выберите Создать проект.

Снимок экрана: окно запуска Visual Studio с выбранным вариантом &quot;Создать проект&quot;.

В окне Создание проекта выберите Visual Basic в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.

Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.

Снимок экрана: окно &quot;Создать проект&quot;, в котором выбрано Visual Basic, Windows и &quot;Консоль&quot;, отфильтрованные по критериям &quot;Язык&quot;, &quot;Платформа&quot; и &quot;Тип проектов&quot;, и выбран шаблон проекта &quot;Консольное приложение&quot;.

Снимок экрана: рабочая нагрузка &quot;Разработка классических приложений .NET&quot; в Visual Studio Installer.

Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.

Снимок экрана: окно &quot;Настроить новый проект&quot; с заданным для поля &quot;Имя проекта&quot; значением WhatIsYourName.

Снимок экрана: окно &quot;Дополнительные сведения&quot; с выбранным в поле &quot;Платформа&quot; вариантом .NET 6.0.

Новый проект открывается в Visual Studio.

Создание приложения для запроса имени

Давайте создадим приложение, которое запрашивает имя пользователя, а затем выводит его вместе с датой и временем. Вот как это сделать.

Откройте проект WhatIsYourName, если он еще не открыт.

Введите следующий код Visual Basic между первой открывающей скобкой после строки Sub Main(args As String()) и строкой End Sub :

Этот код заменяет существующие операторы WriteLine, Write и ReadKey.

Окно кода с кодом приложения

Нажмите зеленую кнопку Пуск или клавишу F5, чтобы создать и запустить свое первое приложение.

Когда откроется окно консоли, введите свое имя. Окно консоли должно выглядеть так, как показано на следующем снимке экрана:

Для закрытия консольного окна нажмите любую клавишу.

В проекте WhatIsYourName введите следующий код Visual Basic между первой открывающей скобкой после строки Sub Main(args As String()) и строкой End Sub :

Этот код заменяет существующие операторы WriteLine, Write и ReadKey.

Снимок экрана: код для файла Program.vb в проекте WhatIsYourName, загруженном в редактор кода Visual Basic.

Нажмите зеленую кнопку Пуск или клавишу F5, чтобы создать и запустить свое первое приложение.

Когда откроется окно консоли, введите свое имя. Окно консоли должно выглядеть так, как показано на следующем снимке экрана:

Для закрытия консольного окна нажмите любую клавишу.

В проекте WhatIsYourName введите следующий код Visual Basic в файле Program.vb между первой открывающей скобкой после строки Sub Main(args As String()) и перед строкой End Sub :

Код заменяет существующий оператор WriteLine.

Снимок экрана: код для файла Program.vb в проекте WhatIsYourName, загруженном в редактор кода Visual Basic.

Нажмите зеленую кнопку Пуск или клавишу F5, чтобы создать и запустить свое первое приложение.

Когда откроется окно консоли, введите свое имя. Окно консоли должно выглядеть так, как показано на следующем снимке экрана:

Для закрытия консольного окна нажмите любую клавишу.

Создание приложения "Калькулятор"

Откройте Visual Studio 2017 и в верхней строке меню выберите Файл > Создать > Проект.

Введите следующий код между строками Module Program и End Module :

Окно кода должно выглядеть так, как показано на следующем снимке экрана:

Окно кода с кодом приложения "CalculateThis"

Щелкните CalculateThis, чтобы запустить программу. Окно консоли должно выглядеть так, как показано на следующем снимке экрана:

Окно консоли с приложением CalculateThis, включая запросы на выполнение действий.

На начальном экране выберите Создать проект.

В окне Создание проекта выберите Visual Basic в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.

Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.

Затем в поле Имя проекта окна Настроить новый проект введите CalculateThis. Затем щелкните Далее.

Введите следующий код между строками Module Program и End Module :

Окно кода должно выглядеть так, как показано на следующем снимке экрана:

Снимок экрана: код для файла Program.vb в проекте CalculateThis, загруженном в редактор кода Visual Basic.

Щелкните CalculateThis, чтобы запустить программу. Окно консоли должно выглядеть так, как показано на следующем снимке экрана:

Снимок экрана: окно "Консоль" для приложения CalculateThis, содержащее подсказки касательно того, какие действий следует выполнять.

На начальном экране выберите Создать проект.

В окне Создание проекта выберите Visual Basic в списке языков. Затем выберите Windows в списке платформ и Консоль в списке типов проектов.

Применив фильтры по языку, платформе и типу проекта, выберите шаблон Консольное приложение и щелкните Далее.

Затем в поле Имя проекта окна Настроить новый проект введите CalculateThis. Затем щелкните Далее.

В файле Program.vb введите следующий код между строками Module Program и End Module :

Окно кода должно выглядеть так, как показано на следующем снимке экрана:

Снимок экрана: код для файла Program.vb в проекте CalculateThis, загруженном в редактор кода Visual Basic.

Нажмите зеленую кнопку "Пуск" рядом с проектом CalculateThis, чтобы запустить программу. Окно консоли должно выглядеть так, как показано на следующем снимке экрана:

Снимок экрана: окно &quot;Консоль&quot; для приложения CalculateThis, содержащее подсказки касательно того, какие действий следует выполнять.

Добавление системы управления исходным кодом Git

Теперь, когда вы создали приложение, вы можете добавить его в репозиторий Git. Мы их предоставим. Visual Studio упрощает этот процесс с помощью инструментов Git, которые вы можете использовать непосредственно из IDE.

Чтобы связать свой код с Git, вы начинаете с создания нового репозитория Git, в котором находится ваш код. Вот как это сделать.

В строке состояния в правом нижнем углу Visual Studio нажмите Добавить в систему управления версиями и выберите Git.

Снимок экрана кнопок управления исходным кодом Git под панелью обозревателя решений с выделенной кнопкой &quot;Добавить в элемент управления версиями&quot;.

В диалоговом окне Создать репозиторий Git войдите в GitHub.

Снимок экрана диалогового окна &quot;Создание репозитория Git&quot;, в котором можно войти в GitHub.

Имя репозитория заполняется автоматически в зависимости от расположения вашей папки. По умолчанию ваш новый репозиторий является частным. Это означает, что только вы можете получить к нему доступ.

Независимо от того, является ли ваш репозиторий общедоступным или частным, лучше всего иметь удаленную резервную копию кода, надежно хранящуюся на GitHub. Даже если вы не работаете с командой, удаленный репозиторий позволит получать доступ к коду с любого компьютера.

После того как вы создали свой репозиторий, вы увидите информацию о статусе в строке состояния.

Снимок экрана строки состояния репозитория под панелью обозревателя решений в Visual Studio.

Первый значок со стрелками показывает, сколько исходящих и входящих фиксаций в вашей текущей ветке. Вы можете использовать этот значок, чтобы получать любые входящие или исходящие фиксации. Вы также можете выбрать отображение этих фиксаций в первую очередь. Для этого щелкните значок и выберите Просмотреть исходящие/входящие.

Второй значок с карандашом показывает количество незафиксированных изменений в вашем коде. Щелкните этот значок, чтобы просмотреть эти изменения в окне Git Changes.

Чтобы узнать больше о том, как использовать Git с вашим приложением, см. документацию по управлению версиями Visual Studio.

Быстрые ответы на часто задаваемые вопросы

Что такое Visual Basic?

Visual Basic — это типобезопасный язык программирования, который прост в изучении. Он является производным от языка BASIC (Beginner's All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих).

Что такое Visual Studio?

Visual Studio — это интегрированный набор средств разработки. Его можно рассматривать как программу для создания приложений.

Что такое консольное приложение?

Консольное приложение принимает входные данные и выводит результаты в окне командной строки (также называется консоль).

Следующие шаги

Поздравляем с завершением этого учебника! Для получения дополнительных сведений перейдите к следующему руководству.

В статье рассматривается использование Visual Studio для решения узкой задачи – собственно вызов VBA-макросов, расположенных в надстройках или документах, с помощью кнопок, которые разработчик может разместить в необходимых дополнительных (отдельно созданных) группах элементов вкладки НАДСТРОЙКИ ленты Excel или отдельных вкладках, и, при желании, использовать все современные возможности для работы с этими элементами.


Ну и вариантах с передачей одного или нескольких параметров разных типов:


VBA-разработчиков, для которых актуальна данная проблема, – приглашаю продолжить чтение. Пошаговое выполнение демо-примера займет примерно 10-20 минут (без учета затрат времени на загрузку, установку и стартовую настройку Visual Studio Community Edition).

Основная цель упражнения – посмотреть как можно получить современный настраиваемый ribbon-интерфейс и при этом вообще не вносить какие-либо изменения в файлы, содержащие VBA-макросы.

Проблема управления ribbon'ом из VBA и традиционные пути решения

Есть несколько способов борьбы с печальной реальностью:

2) смириться самому и призвать к смирению пользователей своих VBA-приложений, потому что теперь кнопки для вызова макросов, ранее (Office 97-2003) располагавшиеся в кастомных перемещаемых Toolbars, теперь (всегда, частично упорядоченно) находятся на вкладке НАДСТРОЙКИ ленты;

3) использовать немодальный VBA-диалог, имитирующий плавающую панель управления, и вызываемый либо относительно уникальной клавишной комбинацией, либо всё-таки с помощью кастомной кнопки, расположенных на вкладке НАДСТРОЙКИ (см. выше).

Версия Office в целом не важна – 2013, 2016, 2019, 365 – всё одинаково. Предложенный способ, скорее всего не будет работать с Office 2007 (что-то там как-то по другому) и с Office 2010 (тоже придётся подкручивать какие-то гайки).

4) В демо-примере VSTO-надстройка и файл-контейнер VBA-кода (xlsm или xlam) «физически» никак не связаны друг с другом – загруженная (подключенная) VSTO-надстройка просто рассчитывает на то, что в момент попытки вызова VBA-кода (щелчок по кнопке) файл-контейнер этого кода либо открыт (xlsm с известным именем) либо подключен (xlam-надстройка, которая корректно installed).

5) В статье термин «VBA-макрос» используется применительно к VBA-подпрограммам, когда не нужно различать процедуру и функцию.



VBA-код
Пока, для простоты, модуль с VBA-кодом не должен содержать опцию Option Private Module – наши публичные процедуры и функция должны доступны не только из этого VBA-проекта. В модуле Module1 xlsm-файла DemoVBA

создаем 2 публичные процедуры и 1 публичную функцию:

Создание VSTO-надстройки в Visual Studio

Запускаем VS, выполняем Файл -> Создать проект

1) В предъявленном диалоге в правом списке выбираем «Надстройка VSTO для Excel», Далее.



2) Указываем имя надстройки, каталог для размещения папок и файлов проекта.



после этого щелком по крестику закрываем этот класс – для демо-примера не требуется вносить в него какие-либо изменения.



4) В Обозревателе решений правым щелчком по имени надстройки DemoAddin вызываем меню и выбираем «Создать элемент».



5) В диалоге добавления нового элемента выбираем «Лента (визуальный конструктор)» и указываем имя класса DemoRibbon.cs.



6) В визуальном конструкторе создаётся заготовка (group1) нашей будущей группы элементов ленты. В окне свойств сразу переименовываем её и задаём надпись — DemoGroup.



7) Из Панели элементов, из группы «Элементы управления ленты Office» в нашу вкладку перетаскиваем три Button’a и в окне свойств задаём имена и надписи DemoButton1..3.

8) Двойным щелчком по верхней кнопке открываем вкладку кода. Вкладка визуального конструктора остается открытой и двойными щелчками по второй и третьей кнопке для них так же создайте обработчики события Click.



9) Модифицируйте код этого класса следующим образом:
— в верхний список using'ов вставьте строки:



— обращение ExcelApp можно заменить на Globals.ThisAddIn.Application и обойтись без объявления и инициализации объекта ExcelApp.)

Тестовый запуск

1) Закрываем запущенный Excel – если открыт.

2) В Visual Studio щелкаем кнопку Пуск. С небольшой задержкой будет запущен Excel, с открытием пустого файла по умолчанию.

3) Убеждаемся, что во вкладке НАДСТРОЙКИ появилась группа элементов DemoGroup с тремя кнопками. Если не появилась, то во вкладке РАЗРАБОТЧИК щелкаем «Надстройки COM» и в диалоге включаем галочку для нашей надстройки (анализ возможных причин такого поведения – за рамками этой статьи).



4) В запущенном Excel через меню Файл -> Открыть отрываем файл DemoVBA.xlsm. Почему так? Потому что при открытии щелчком по ярлыку или из списка последних файлов на панели задач в данной ситуации будет открыт еще один экземпляр Excel, а нам нужно работать в экземпляре, которым Visual Studio управляет в тестовом режиме – для отладки.







Выводы по тестовому примеру

Очевидный плюс – теперь для создания и модернизации своих компонентов ленты (групп элементов, и, при необходимости, и целых вкладок) можно использовать современные средства – визуальный дизайнер, различное оформление, при необходимости – программное изменение своих элементов. Так же, в зависимости от количества элементов и удобства компоновки групп и вкладок, можно быстро полностью заменить элементы вызова макросов – например, вместо отдельных кнопок сделать кнопку-меню с раскрывающимися опциями или сделать раскрывающийся список имен макросов и отдельную кнопку запуска выбранного. При этом не придется разбираться с XML-редакторами, процедурами обратного вызова и прочими сопутствующими нюансами.

Использование XLAM-надстройки и формирование дистрибутива VSTO-надстройки
Теперь необходимо провести проверку для компонентов, которые будут устанавливаться на компьютерах пользователей.

1) XLSM-файл сохраняем как XLAM-надстройку.

3) Выполняем Сборка -> Опубликовать DemoAddin, указываем расположение папки дистрибутива и способ установки на ПК пользователей – CD или DVD (имеется ввиду – из файлов дистрибутива, а не из внутреннего ресурса организации). В указанной папке будет создан файл setup.exe и прочие установочные файлы.

4) Копируем DemoVBA.xlam и папку дистрибутива на компьютер пользователя.

5) DemoVBA.xlam подключаем как обычно для xlam-надстроек – РАЗРАБОТЧИК -> Надстройки (не путать с Надстройки COM!). Закрываем Excel.

6) Устанавливаем VSTO-надстройку – это «трёх-щелчковое» действие, включая согласие с невозможностью проверить подпись издателя.

7) Запускаем Excel, проверяем. Если группа DemoGroup не появилась на вкладке НАДСТРОЙКИ, включаем DemoAddin в диалоге РАЗРАБОТЧИК -> Надстройки COM.

Уточнения по видимости (доступности) VBA-процедур и функций (Public или Private)

Более того – на возможность такого вызова не повлияет и наличие директивы Option Private Module в заголовке VBA-модуля!

Попробуем максимально ограничить область видимости наших макросов – в Module1 в объявлениях процедуры и функции Public заменим на Private, и в заголовке модуля укажем Option Private Module. Сохраняем DemoVBA.xlsm, закрываем Excel и выполняем тестовый запуск из среды Visual Studio как описано выше. Всё работает.

Изящество такого архитектурного решения становится понятным, когда мы подумаем о VBA-функциях, возвращающих простые значения (строки, числа….) в качестве вычисляемых значений ячеек. Соответственно, при необходимости, такие функции должны быть доступны в качестве функций рабочего листа – в категории «Определенные пользователем» диалога вставки функций. Следовательно, для использования в Excel, они должны быть объявлены как Public, а все остальные VBA-функции – как Private – но это не означает, что их нельзя вызвать по полному имени, в качестве публичных!

Уточнение понятия «полное имя» макроса — в среде VBA поддерживается возможность при вызове указывать имя модуля перед именем макроса (разделяя точкой), что позволяет легко обойти проблему наличия в разных модулях одноименных макросов с одинаковой областью видимости.

Читайте также: