Как открыть редактор visual basic
Сводные таблицы Excel
В Excel 5 впервые была реализована поддержка нового макроязыка Visual Basic for Applications (VBA). Каждая копия Excel, начиная с 1993 года, содержит копию языка VBA, в явном виде не представленную на рабочих листах. VBA позволяет выполнять действия, которые обычно реализуются в Excel, но делает это намного быстрее и безукоризненно.
Если вам доводилось прежде сталкиваться с VBA-программами, то вы знаете, что очень часто они позволяют с помощью всего одного щелчка получать результаты, на которые в случае применения обычных средств Excel уходит несколько часов, а то и дней. Не стоит пугаться сложностей VBA, это ничуть не сложнее чем эмулятор psp. В 90% случаев программный код генерируется благодаря функции записи макросов, и только самые эффективные VBA-приложения пишутся вручную. В примерах раздела «Использование VBA для создания сводных таблиц» вы познакомитесь с нелегкой работой настоящего VBA-программиста.
По умолчанию VBA в Excel 2010 отключен. Прежде чем начать его использовать, нужно активизировать его в диалоговом окне Центр управления безопасностью (Trust Center). Выполните следующие действия.
5. Выберите вкладку ленты Разработчик. Нам понадобится группа команд Код (Code), в состав которой входят кнопки Visual Basic Editor, Макросы (Macros), Запись макроса (Macro Recorder) и Безопасность макросов (Macro Security) (рис. 12.1).
Рис. 12.1. Доступ к инструментам VBA реализуется через вкладку Разработчик
2.1 Знакомство с редактором Visual Basic
Способы запуска редактора Visual Basic, окна редактора Visual Basic
Во многих ситуациях макрорекордер очень удобен, но в реальной работе только им обойтись невозможно. Слишком много не умеет макрорекордер: он не умеет проверять значения, чтобы в зависимости от него выполнить какое-либо действие, не работает с циклами, не умеет перехватывать и обрабатывать ошибки. Он использует только ограниченный и не лучший набор объектов (например, при вводе текста в Word — чувствительный к действиям пользователя объект Selection вместо более надежного объекта Range). Макросы, которые созданы в макрорекордере, очень ограничены с функциональной точки зрения.
Полный возможности программирования в Office раскрываются при использовании редактора Visual Basic, и при серьезной работе без него не обойтись. В то же время, по моим наблюдениям, большинству обычных пользователей разобраться во всех приема его использования самостоятельно очень сложно.
В этой главе мы рассмотрим возможности редактора Visual Basic и познакомимся с тем, что можно сделать в его многочисленных окнах.
Внимание! Для создания программ, которые используют возможности объектных моделей приложений Microsoft Office, использовать язык VBA и редактор Visual Basic совсем не обязательно. Вы вполне можете создавать такие программы на любом COM-совместимом языке, например, обычном Visual Basic C++, Delphi, Java, VBScript и JavaScript, ActivePerl, C#, Visual Basic. NET и т.п. Однако язык VBA (и редактор Visual Basic) изначально создавались для автоматизации приложений Microsoft Office, и работать из них с объектными моделями приложений Microsoft Office удобнее всего.
Прежде чем начать работать с редактором Visual Basic, нужно его открыть. Во всех приложениях Office это делается одинаково:
В любом случае откроется окно, похожее на представленное на рис.2.1.
Рис. 2.1 Окно редактора Visual Basic в Excel
Внимание! В окне редактора Visual Basic можно работать одновременно с работой в приложении, откуда этот редактор был вызван. Переход — через + (в редактор также можно «прыгнуть», повторно нажав + ).
Всего в редакторе Visual Basic предусмотрены 9 окон:
Найти какое-окно, если вы не поняли, где оно, можно очень просто: нужно выбрать его в меню View, и если оно было скрыто, оно появится в редакторе.
И еще один момент, который для многих пользователей может оказаться разочаровывающим. В русских версиях приложений Office для редактора Visual Basic предусмотрен англоязычный интерфейс. Справка по языку VBA и объектным моделям приложений Office — тоже только на английском. К сожалению, русифицированных вариантов не существует. Однако, по моим наблюдениям, знание английского языка для того, чтобы писать программы в VBA, не критично (хотя и очень полезно): программы вполне можно создавать и не зная английского.
VBA Excel. Начинаем программировать с нуля
Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.
Начинаем программировать с нуля
Часть 1. Первая программа
[Часть 1] [Часть 2] [Часть 3] [Часть 4]
Знакомство с редактором VBA
В левой части редактора VBA расположен проводник проекта, в котором отображены все открытые книги Excel. Верхней строки, как на изображении, у вас скорее всего не будет, так как это – личная книга макросов. Справа расположен модуль, в который записываются процедуры (подпрограммы) с кодом VBA. На изображении открыт модуль листа, мы же далее создадим стандартный программный модуль.
После нажатия кнопки «Module» вы увидите ссылку на него, появившуюся в проводнике слева.
Первая программа на VBA Excel
Добавляем на стандартный модуль шаблон процедуры – строки ее начала и завершения, между которыми мы и будем писать свою первую программу (процедуру, подпрограмму).
В результате откроется окно добавления шаблона процедуры (Sub).
Имя процедуры может быть написано как на латинице, так и на кириллице, может содержать цифры и знак подчеркивания. Оно обязательно должно начинаться с буквы и не содержать пробелы, вместо которых следует использовать знак подчеркивания.
Функция MsgBox выводит информационное сообщение с указанным текстом. В нашем примере – это «Привет».

Если вы увидели такое сообщение, как на изображении, то, поздравляю – вы написали свою первую программу!
Работа с переменными
Чтобы использовать в процедуре переменные, их необходимо объявить с помощью ключевого слова «Dim». Если при объявлении переменных не указать типы данных, они смогут принимать любые доступные в VBA Excel значения. Комментарии в тексте процедур начинаются со знака «’» (апостроф).
Пример 2
Присвоение переменным числовых значений:
Редактор Visual Basic в Excel
В этой главе даётся очень краткий обзор редактора Visual Basic в Excel. Если Вы любознательный читатель и хотите узнать еще больше информации о редакторе, то при желании без проблем найдете ресурсы с более подробным описанием.
Запуск редактора Visual Basic
Простейший способ запустить редактор Visual Basic в Excel – нажать комбинацию клавиш Alt+F11 (то есть нажать клавишу Alt и, удерживая её, нажать клавишу F11). После этого откроется окно редактора Visual Basic, как показано на картинке ниже. Имейте ввиду, что окно Excel остается открытым и находится позади окна редактора.
Окна редактора Visual Basic
В процессе работы в редакторе Visual Basic в Excel могут быть открыты различные окна. Управление окнами осуществляется в меню View, которое находится в верхней части окна редактора VBA. Ниже дано описание отдельных окон.
Окно проекта (Project)
Окно Project открывается в левой части редактора VBA (показано на картинке выше). В этом окне для каждой открытой рабочей книги создаётся проект VBA (VBA Project). Проект VBA – это набор всех объектов и модулей VBA, привязанных к текущей книге. Изначально в него входят:
Самостоятельно в проект можно добавить объекты Userform, Module и Class Module. Если Вы посмотрите на картинку выше, то увидите, что в проект VBA для книги Book1.xlsm добавлен объект Module с названием Module1.
Вот как можно создать новый объект Userform, Module или Class Module:
Для каждого из описанных выше объектов предусмотрено специальное окно, в котором будет создаваться и храниться новый код VBA. Порядок при этом такой:
Окно кода (Code)
Двойной щелчок мышью по любому объекту в окне Project открывает соответствующее окно Code, предназначенное для ввода кода VBA с клавиатуры. На одном из приведённых выше рисунков показано окно кода для Module1.
По мере ввода кода VBA в окно Code, редактор Visual Basic следит за правильностью ввода, ищет ошибки в коде и выделяет код, который требует исправления.
Окно свойств (Properties)
В окне Properties перечислены свойства объекта, который в момент создания (не в процессе выполнения программы) выделен в окне проекта. Эти свойства могут быть различными в зависимости от типа выделенного объекта (лист, книга, модуль и другие).
Окно отладчика (Immediate)
Окно Immediate можно отобразить в редакторе Visual Basic через меню View > Immediate Window или нажатием комбинации клавиш Ctrl+G. Это окно помогает при отладке кода. Оно выполняет роль области вывода для отладки выражений и позволяет вычислять отдельные выражения или выполнять строки кода по одной.
Например, введите выражение «?j» и нажмите Enter – в результате будет выведено текущее значение переменной j.
Окно переменных (Locals)
Чтобы открыть окно Locals, нажмите Locals Window в меню View редактора Visual Basic. В этом окне отображаются все переменные, объявленные в текущей процедуре. Окно делится на столбцы, в которых содержатся имя, значение и тип каждой переменной, и эта информация обновляется автоматически в ходе выполнения программы. Окно Locals очень полезно при отладке кода VBA.
Окно отслеживания (Watches)
Окно Watches также очень помогает при отладке кода VBA, так как в нём можно увидеть значение, тип и контекст любого отслеживаемого выражения, которое задаст пользователь. Чтобы открыть окно Watches, нажмите Watch Window в меню View редактора Visual Basic. Также окно Watches будет открыто автоматически, если задать отслеживаемое выражение.
Чтобы задать отслеживаемое выражение, нужно:
Кроме рассмотренных, в меню редактора Visual Basic в Excel существует ещё множество параметров и команд, используемых при создании, выполнении и отладке кода VBA.
Узнайте, как использовать редактор кода с Visual Basic
В этом 10-минутном введении, посвященном редактору кода в Visual Studio, мы добавим код в файл, чтобы рассмотреть некоторые способы, упрощающие написание и понимание кода Visual Basic и навигацию по нему в Visual Studio.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
В этой статье предполагается, что вы уже знакомы с Visual Basic. Если это не так, мы рекомендуем сначала изучить руководство по началу работы с Visual Basic в Visual Studio.
Чтобы выполнять действия, описанные в этой статье, выберите нужные параметры Visual Basic для Visual Studio. Сведения о настройке параметров для интегрированной среды разработки (IDE) вы найдете в этой статье.
Создание файла кода
Для начала создайте файл и добавьте в него код.
Запустите Visual Studio.
В меню Файл в строке меню выберите Создать файл.
В диалоговом окне Новый файл в разделе Общие выберите Класс Visual Basic и щелкните Открыть.
Новый файл открывается в редакторе с каркасом класса Visual Basic. (Возможно, вы уже заметили, что нам не нужно создавать полный проект Visual Studio, чтобы использовать такие преимущества редактора кода, как выделение синтаксиса. Нам нужен только файл кода.)
Запустите Visual Studio. Нажмите клавишу ESC или нажмите Продолжить без кода в окне запуска, чтобы открыть среду разработки.
В меню Файл в строке меню выберите Создать файл.
В диалоговом окне Новый файл в разделе Общие выберите Класс Visual Basic и щелкните Открыть.
Новый файл открывается в редакторе с каркасом класса Visual Basic. (Возможно, вы уже заметили, что нам не нужно создавать полный проект Visual Studio, чтобы использовать такие преимущества редактора кода, как выделение синтаксиса. Нам нужен только файл кода.)
Запустите Visual Studio. Нажмите клавишу ESC или щелкните команду Продолжить без кода в окне запуска, чтобы открыть среду разработки.
В меню Файл в строке меню выберите Создать > Файл.
В диалоговом окне Новый файл в разделе Общие выберите Класс Visual Basic и щелкните Открыть.
Новый файл открывается в редакторе с каркасом класса Visual Basic. (Возможно, вы уже заметили, что нам не нужно создавать полный проект Visual Studio, чтобы использовать такие преимущества редактора кода, как выделение синтаксиса. Нам нужен только файл кода.)
Использование фрагментов кода
Visual Studio предоставляет удобные фрагменты кода, позволяющие быстро и легко создавать часто используемые блоки кода. Фрагменты кода доступны для различных языков программирования, включая Visual Basic, C# и C++. Давайте добавим в созданный файл фрагмент кода Sub на Visual Basic.
Поместите курсор над линией с текстом End Class и введите слово sub.
Появится всплывающее диалоговое окно с информацией о ключевом слове Sub и подсказками для вставки фрагмента кода Sub.
Два раза нажмите клавишу TAB, чтобы вставить фрагмент кода.
Для разных языков программирования доступны различные фрагменты кода. Вы можете просмотреть фрагменты кода, доступные для Visual Basic, выбрав пункты меню Изменить > IntelliSense > Вставить фрагмент или нажав сочетание клавиш CTRL+K, Ctrl+X. Для Visual Basic предлагаются фрагменты кода следующих категорий:
Эти фрагменты кода позволяют определить, существует ли на компьютере определенный файл, записать данные в текстовый файл, считать значение реестра, выполнить SQL-запрос, создать инструкцию For Each. Next и многое другое.
Поместите курсор над линией с текстом End Class и введите слово sub.
Появится всплывающее диалоговое окно с информацией о ключевом слове Sub и подсказками для вставки фрагмента кода Sub.
Два раза нажмите клавишу TAB, чтобы вставить фрагмент кода.
Для разных языков программирования доступны различные фрагменты кода. Вы можете просмотреть доступные фрагменты кода для Visual Basic, открыв контекстное меню в редакторе кода и выбрав пункт Фрагмент кода > Вставить фрагмент (или нажав клавиши CTRL+K, CTRL+X). Для Visual Basic предлагаются фрагменты кода следующих категорий:
Закомментирование кода
Панель инструментов, которая находится в строке кнопок под строкой меню в Visual Studio, поможет повысить продуктивность написания кода. Например, вы можете переключить режим завершения IntelliSense, увеличить или уменьшить отступ строк или закомментировать фрагмент кода, который не нужно компилировать. (Средство IntelliSense помогает создавать код, предоставляя списки подходящих методов и выполняя другие действия.) В этом разделе мы закомментируем код.
Свертывание блоков кода
Просмотр определений символов
Щелкните слово String правой кнопкой мыши и выберите пункт Показать определение в контекстном меню. Или нажмите Alt+F12.
Закройте окно просматриваемого определения, щелкнув небольшое поле со знаком «x» в его правом верхнем углу.
Щелкните слово String правой кнопкой мыши и выберите пункт Показать определение в контекстном меню. Или нажмите Alt+F12.
Закройте окно просматриваемого определения, щелкнув небольшое поле со знаком Х справа в верхнем углу.
Использование IntelliSense для завершения слов
Технология IntelliSense крайне полезна при написании кода. Она может отображать сведения о доступных членах типа или сведения о параметрах для различных перегрузок метода. Вы также можете использовать IntelliSense для завершения слова после того, как ввели достаточно знаков для однозначного его определения. Давайте добавим строку кода для вывода упорядоченных строк в окне консоли — это стандартное место для отображения выходных данных программы.
Чтобы вставить оставшуюся часть слова query с помощью функции завершения слов IntelliSense, нажмите клавишу Tab.
Завершите блок кода, чтобы он выглядел аналогично приведенному ниже примеру кода.
Технология IntelliSense крайне полезна при написании кода. Она может отображать сведения о доступных членах типа или сведения о параметрах для различных перегрузок метода. Вы также можете использовать IntelliSense для завершения слова после того, как ввели достаточно знаков для однозначного его определения. Давайте добавим строку кода для вывода упорядоченных строк в окне консоли — это стандартное место для отображения выходных данных программы.
Чтобы вставить оставшуюся часть слова query с помощью функции завершения слов IntelliSense, нажмите клавишу Tab.
Завершите блок кода, чтобы он выглядел аналогично приведенному ниже примеру кода.
Рефакторинг имени
Поместите курсор над определением переменной _words и выберите пункт Переименовать в контекстном меню, которое открывается правой кнопкой мыши.
В верхней правой части редактора отображается всплывающее диалоговое окно Переименование.
Нажмите клавишу ВВОД или щелкните Применить.
Это действие переименует оба экземпляра words и ссылку на words в комментариях к коду.
Поместите курсор над определением переменной _words и выберите пункт Переименовать в контекстном меню, которое открывается правой кнопкой мыши.
В верхней правой части редактора отображается всплывающее диалоговое окно Переименование.
Нажмите клавишу ВВОД или щелкните Применить.
Это действие переименует оба экземпляра words и ссылку на words в комментариях к коду.





























