Опубликован: 01.04.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Национальный исследовательский университет "Высшая Школа Экономики"
Лекция 2:

Редактор Visual Basic

< Лекция 1 || Лекция 2: 12 || Лекция 3 >

Запись процедур

В редакторе VB можно записать любой оператор языка.

Удобно:
  • воспользоваться справочной системой и скопировать в процедуру примеры, иллюстрирующие выбранную справку.

Для добавления процедуры используется команда Insert - Procedure. Этой же командой можно создать функцию.

Добавление процедуры

Рис. 2.8. Добавление процедуры

В примере добавляется процедура MyProc ( рис. 2.8), что приводит к появлению двух строк

Две строки процедуры

Рис. 2.9. Две строки процедуры

Для переименования процедуры достаточно изменить ее идентификатор в операторе объявления процедуры Sub.

Процедуры записываются в стандартных модулях и на процедурных листах. Новый модуль добавляется в проект выбором пункта Module (Модуль) из меню Insert.

В процедурах записываются операторы и комментарии:

  • операторы представляют собой команды обработки объектов приложения и команды языка Visual Basic ;
  • комментарии - некоторый свободный текст, который вводится в программу в качестве пояснений. Текст комментария начинается с одинарной кавычки (').

Использование комментариев не только является хорошим тоном при написании программ, но и значительно облегчает чтение и модификацию программы (в том числе, и самому автору программы через некоторое время).

Важно:
  • Операторы записываются на отдельных строках программы. Для разделения операторов, записанных на одной строке, используется знак двоеточия (:).

Операторы не привязаны к определенной позиции строки, но считается хорошим тоном записывать операторы друг под другом в соответствии с уровнем вложенности операторов (запись тела цикла, условных операторов и т.п.). Стандартный сдвиг в четыре символа производится при нажатии на клавишу Tab. Автоматически в следующей строке делается такой же отступ, как и в предыдущей. Изменить размер стандартного сдвига можно в настройках редактора (см. ниже рис. 2.10, поле Tab Width ).

Важно:
  • Рекомендуется отделять смысловые части программы пустыми строками и комментариями.
  • Допускается перенос длинного оператора с одной строки на другую. Cимвол продолжения строки - символ подчеркивания (_).
  • Символ продолжения строки не должен разделять ключевые слова или идентификаторы. Он не может находиться внутри текстовой константы.
  • Перед символом продолжения строки должен находиться пробел. После символа продолжения строки не должно быть никаких символов.
  • Для ускорения набора ключевых слов используйте команду Complete Word (Завершить слово) из меню Edit (Правка) или клавиши Ctrl+пробел.
  • Нажатие клавиши Точка (.) после имени объекта высвечивает список свойств и методов, из которого можно выбрать нужное.
  • Подсказка по формальным параметрам процедур возникает при нажатии на клавишу Открывающая Скобка после имени процедуры.

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

Редактор анализирует набираемый пользователем код, изменяет написание ключевых слов (названия команд, свойств, методов и т.д.), устанавливая прописную букву в начале слова, и меняет цвет слов в соответствии со сделанными установками. Комментарии и обнаруженные синтаксические ошибки также изменяют свой цвет.

Настройка редактора выполняется на вкладке Editor Format команды Tools-Options (Сервис-Параметры).

Диалоговое окно настройки редактора VB

Рис. 2.10. Диалоговое окно настройки редактора VB

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

Можно импортировать (команда Import из меню File ) текст модуля из файлов с расширениями .frm(формы), .bas(модули), .cls(классы). Также можно экспортировать (команда Export из меню File ) текст модуля в файлы с расширениями .frm, .bas, .cls. Процедуры экспорта и импорта позволяют легко переносить приложение на VBA из одного документа в другой.

Внимание:
  • В окне программы отображаются тексты процедур объекта, выделенного в окне проекта.

В окне программы может отображаться текст одной процедуры ( procedure view ) или текст модуля целиком ( full-module view ). В последнем случае процедуры разделяются горизонтальными линейками. Выбрать вид представления кода можно, нажав соответствующую кнопку в левом нижнем углу окна с текстом процедур (см. рис. 2.11).

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

  • Если это стандартный модуль, то список объектов содержит только одну строку - General, а список процедур - строку Declarations и все процедуры модуля.

    Выбор строки Declarations переводит в раздел объявления переменных, в котором располагаются инструкции компилятору и описания переменных, общих для всех процедур модуля или проекта в целом.

    На рис. 2.11 из списка процедур выбрана строка b_p. Это действие высветит текст процедуры b_p.

  • Если окно программы отображает процедурный лист для формы или объекта рабочей книги, то список объектов содержит
    • строки для каждого объекта, расположенного внутри выбранного объекта;
    • строку General для выбора общих процедур, необходимых при выполнении событийных процедур, расположенных на этом процедурном листе.

    Если в списке объектов выделен объект, то второй список - перечень событий, связанных с выделенным объектом. Если в списке объектов выбрана строка General, то во втором списке доступна строка Declarations и перечень общих процедур.

Окно стандартного модуля

Рис. 2.11. Окно стандартного модуля

На рис. 2.12 в окне программы, открытом для рабочей книги, в списке объектов выделен объект Workbook и для него открыт перечень событий.

Окно программы объекта Эта книга

Рис. 2.12. Окно программы объекта Эта книга

Режимы работы с программой

В VBA возможны четыре режима работы с программой.

  1. Режим конструктора. В режиме конструктора можно создавать и редактировать процедуры, создавать и модифицировать формы.
  2. Режим выполнения программы. Для запуска процедуры используются клавиша F5 или кнопка Run на стандартной панели инструментов. Предварительно необходимо установить точку вставки внутрь выбранной процедуры. В этом режиме в заголовке окна VB после имени файла указывается [running].
  3. Режим прерывания программы. Программа автоматически переходит в режим прерывания при возникновении некоторой ошибки во время выполнения программы.
    Прерывание программы

    Рис. 2.13. Прерывание программы
    Высвечивается диалог, в котором можно выбрать продолжение ( Continue ) или завершение работы программы ( End ), получение справки относительно возникшей ошибки ( Help ) или переход в режим отладки ( Debug ).
    Важно:
    • При возникновении ошибки на этапе выполнения ( Run-time error) VBA выводит сообщение, о том, какая именно ошибка произошла (например, Object required ) и позволяет получить более подробный Help об этом типе ошибок. Внимательное чтение сообщений об ошибках и соотвествующих разделов Help значительно упрощает отладку.
    • Если программа зависает или необходимо прервать выполнение программы по какой-то причине, используйте клавиши Ctrl-Break или кнопкупри нажатии которых программа переходит в режим отладки.
  4. Режим отладки программы ( Debug ). Выбор отладки после прерывания программы активизирует окно с текстом выполняемой процедуры. В окне желтым цветом выделен оператор, на котором произошло прерывание. В этом режиме в заголовке окна VBA после имени файла указывается [break].

    Переход в режим отладки происходит автоматически

    • при достижении контрольной точки;
    • программа выполнила команду Stop (пауза в выполнении программы);
    если выполнено некоторое условие, установленное для отслеживания значений переменных командой Add Watch.
< Лекция 1 || Лекция 2: 12 || Лекция 3 >
Дмитрий Денисов
Дмитрий Денисов

Еще раз повторяю вопрос  - отправил договор и сканы документов по почте - в начале августа, до  5 го, внес предоплату - летом действовала скидка - чтобы пройти курс в августе, но я уезжал в Москву. По возвращению - и  в течение месяца - никакого ответа, никаких зачислений, ничего. Как проверить, пришли ли мои документы в Интуит, предоплата, почему нет зачисления.

Дмитрий Денисов
Дмитрий Денисов

Как записаться на курс, оплатить, не ориентируюсь в программе.

Ранее у Вас учился.

Работаю преподавателем, есть справка. Как получить скидку, т.е. оплата 2000


 

Елизавета Cафронова
Елизавета Cафронова
Россия, Выкса, НИТУ МИССиС
Иван Чуприков
Иван Чуприков
Россия, пгт. Чульман