Редактор VBA (VBE)

Тема излагается на занятиях. Здесь присутствует минимум, пополняемый раз в год.

Содержание

Введение
Инструментальные панели
Настройки
Раскраска кода
Область общих задач
Набор программного кода
Отладка
Область действия
Копирование программ
Экспорт и импорт

Введение

Для изучения кода программы, его исправления и отладки служит дополнительный встроенный редактор (Visual Basic Editor, VBE).

Самым простым способом его открытия следует считать горячую клавишу Alt+F11, хотя, как обычно, существует множество альтернативных вариантов.

Показанное ниже окно (VBE 2016) по умолчанию содержит, помимо стандартных элементов, меню и инструментальных панелей, три окна.


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


В связи с тем, что возможно создание двух типов результатов: макросов и форм, внешний вид редактора может несколько различаться.

На следующем рисунке выведена уже сама обсуждавшаяся форма, в связи с чем заполнилось окно свойств и автоматически вывелась панель управляющих элементов (Toolbox).

В процессе работы может быть открыто достаточно много окон кода, которые просто начинают путаться. В связи с этим нелишне напомнить, что дочерние окна могут быть закрыты клавиатурным сочетанием Ctrl+F4.

Окна

Помимо упомянутых выше трех главных окон, существует ещё несколько, играющих большую роль в процессе отладки.


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


....

Инструментальные панели

Проще всего понять, что есть, и что включено, вызвав контекстное меню щелчком правой кнопки мыши в области меню/панелей. (То же самое выполняется через меню View⇒Toolbars, но так сложнее.)

Забавно, но как бы в подтверждение своих слов, я неожиданно обнаружил в меню панель отладки (Debug), включенную накануне, но забытую на соседнем экране.

Хотя всегда включена лишь стандартная (Standard) панель.

Панель для работы с пользовательскими формами (UserForm).

Панель редактирования кода программы (Edit).

Панель элементов управления (Toolbox) появляется автоматически, при активации окна формы.

....

Пункт Customize приведет вас в стандартный диалог настройки меню/панелей формата Office 2003. То есть здесь это еще испортить не успели.

Вкладка Toolbars позволяет управлять выводом и составом панелей.


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


Вкладка Commands содержит перечень всех поддерживаемых команд (справа), разделенный на категории (слева). Инструкция вполне понятно объясняет, что нужно перетащить команду мышкой в требуемое место инструментальной панели.


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


Вкладка Options интересна возможностью вывода увеличенных пиктограм и потенциальным ошибочным отклю­чением подсказок к ним (ScreenTips).

Настройки

Для вызова диалога настроек, следует выполнить команду меню Tools ⇒ Options.

Смотрим, читаем, думаем. Исправлять стоит только после серьезной оценки.

....

Раскраска кода

Основные команды и элементы конструкций выводятся темно-синим цветом, комментарии — оливково-зеленым, ошибки в процессе набора — красным. Весь остальной текст отображается черным цветом.

При обнаружении ошибки в процессе компиляции выводится соответствующее сообщение. (Здесь нарочно вставлен пробел перед точкой.)


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


Программа не прервана, а приостановлена и перешла в режим Отладки.

Цветовая гамма задается вкладкой Editor Format диалога настроек и ограничена в выборе.

Я бы не рекомендовал производить принципиальных изменений, чтобы не нарушить общую концепцию.

Область определений/общих задач (General, Declarations)

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

Именно там нужно создавать все переменные, значения которых вы хотите использовать в разных подпрограммах, предваряя их словом Public.


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


Набор программного кода

Макрорекордер — хорошо и даже более того, но набирать вручную приходится все равно. Среда VBE в этом плане если и не является эталонной, то настроена к программисту крайне дружелюбно.

Пока подробно только об одном. Для создания вручную новой программы (процедуры), нужно ввести слово «Sub», имя программы и нажать Enter. Среда сама сделает все остальное, а именно:

  1. Добавит скобки после имени программы.
  2. Добавит завершающую строку «End Sub».
  3. Установит курсор между ними для набора.

Остальное тезисно...


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


....

Основы отладки

Первое, что стоит отметить, заключается в практически неизменных механизмах отладки с самого первого момента. Во многом это определяется изначальным качеством выполнения. Но для программирования много экрана не бывает, так что идеальной средой будет вывод документа на одном мониторе, а среды VBE — на другом. Экран нетбука и подобной техники вы можете оценить сами, хотя, на момент изначальной разработки редактора, вполне профес­сиональным считался монитор с разрешением 1280*1024 точки.

Процесс возможен только при включенной панели Debug.

Часть имеющихся кнопок (пуск, пауза, стоп) продублирована на стандартной панели.

КнопкаНазваниеКлавишаНазначение
Design ModeПереключатель. Включение приводит к блокировке исполнения элементов управления в документе (режим Конструктора)
Run Sub/UserFormF5Запуск текущей программы или формы на потоковое выполнение
BreakCtrl+BreakПрерывание выполнения программы (пауза)
ResetОстановка исполняемой программы
Toggle BreakpointF9Точка остановки
Step IntoF8Построковое выполнение
Step OverShift+F8Построковое выполнение с «перепрыгиванием» процедур
Step OutCtrl+Shift+F8Завершение процедуры и продолжение построкового выполнения вызвавшей программы
Locals WindowВыводит окно Locals и/или переключает фокус на него
Immediate WindowCtrl+GВыводит окно Immediate и/или переключает фокус на него
Watch WindowВыводит окно Watches и/или переключает фокус на него
Quick WatchShift+F9Мастер быстрого создания для отслеживания состояния
Call StackCtrl+LСтек вызова функций

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

В этом режиме можно определить значение каждой переменной, наведя на нее курсор мыши: оно появится в виде всплывающей подсказки. Для более наглядного контроля, значение можно вывести в окне Watches, воспользовавшись кнопкой (Shift+F9). Кроме того, окно Immediate позволяет выполнять дополнительные команды в процессе отладки программы. Например, вы можете переопределить переменную выполнением введенной (или скопированной) строки команды или запросить ее «Print ИмяПеременной». После ввода любой команды нужно нажать Enter.

Чаще всего, на первом этапе можно не выполнять пользовательские функции (внешние процедуры), проходя их кнопкой (Shift+F8). А если вы в нее зашли и убедились, что все в порядке, то быстро закончить выполнение ее кода и приостановиться на вызвавшей строке можно кнопкой (Ctrl+Shift+F8).

Иногда проблемное место находится далеко от начала и можно воспользоваться точкой остановки.

На данном этапе я не вижу необходимости в углубленном обсуждении.

Точка остановки (BreakPoint)

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


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


Точек может быть несколько, что позволит «прыгать» на следующие интересующие вас фрагменты, повторно запуская обычное выполнение.

Стек вызова функций (Call Stack)

Удобное средство для определения положения программы в совокупности выполняемых процедур и перехода между ними в процессе приостановки исполнения.

....

Область действия и видимости программ и функций

На самых первых шагах эта тема не встает в принципе, так как имеется максимум несколько программ, а всё программирование происходит в единственном модуле. Но далее проблема встает во всей красе и требует кропотливого наведения порядка, всегда чреватого ошибками. Желательно до этого не доводить, и начинать осмысленную работу с первых шагов.

Какие варианты возможны?


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


Копирование программ

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

Вы просто перетаскиваете форму, модуль или класс в окне Менеджера из одного проекта в другой (в любое место). Результатом станет создание копии.

Для копирования одной программы её нужно выделить.


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


См. также Экспорт.

Экспорт и импорт программ и форм

Первично действие выполняется просто.


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.


....


Copyright © 1993–2024 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.