Программирование в среде Visual Basic for Applications (1082430), страница 15
Текст из файла (страница 15)
Окно Отладка вызывается с помощью команды Вид/Окно отладки. Оно разбито на две панели: ° нижняя панель — Панель кода — выполняет роль листа модуля; ° верхняя панель отображает одну из вкладок: Проверка или Значение. Вкладка Значение позволяет отслеживать изменения значений выбранных переменных. Вкладка Проверка предназначена для тестирования одного оператора, проверки значения переменной. Текст, введенный на этой вкладке, не изменяет текста программы, записанного на листе модуля. Вводимый оператор выполняется по нажатии клавиши Ешег. Рассмотрим конкретные примеры работы с вкладкой Проверка (рис. 15.1).
11б Программирование в среде внииа! Вавгс !аг Арр((саланг В окне Отладка на вкладке Проверка введите следующий оператор присваивания; х=2 Рис. ! 5.!. Работа с вкладкой «Проверка» окна «Отладка» При нажатии клавиши Еп(ег ЧВА выполнит этот оператор, т. е. присвоит переменной Х значение 2. Чтобы проверить, какое значение присвоено переменной Х, на новой строке введите оператор вп1пс х, который при нажатии клавиши Еп(ег выведет на вкладке Проверка значение этой переменной. Оператор Рг1п1 не позволяет выводить значение на листе модуля, но, используя конструкцию оеЬид.Рсьпг имя переменной, можно вывести это значение на вкладке Проверка.
Другим способом вывода значения выражения является использование вопросительного знака. Например, введите на вкладке Проверка т= етп(х+1) ?У ЧВА будет помнить значение переменной Х до тех пор, пока не будет закрыто окно Отладка. Поэтому при нажатии клавиши Еп(ег переменной У будет присвоено значение з(п(3), равное «- 0.756802495307928». На вкладке Проверка можно выводить значения выражений также с помощью диалогового окна вывода, например: Ме()вон "Значение у" с Санг(ГогиаС(у, "()().((()((")), чЫптостасзоп /5. Оииадка лрограммы 117 Для проверки последовательности выполнения операторов в программе необходимо поместить курсор в процедуру, которую необходимо отладить, и осуществить одно из следующих действий: ° выбрать команду Выполнить/Выполнить пошагово, ° нажать клавишу Р8, ° нажать кнопку Войти в процедуру. В результате откроется окно Отладка, отображающее выбранную процедуру на Панели кода.
Первая строка процедуры будет выделена рамкой. Это означает, что она будет выполнена следующей. Для выполнения этой строки необходимо выполнить одно из перечисленных выше действий. После выполнения последнего оператора процедуры окно Отладка автоматически закрывается. Если при пошаговом выполнении программы нет необходимости отслеживать выполнение какой-либо вызываемой процедуры, ее пошаговое выполнение можно пропустить, выполнив одно из перечисленных ниже действий: ° выбрать команду Выполнить/Перешагнуть, ° нажать клавиши ЯЫЙ+Р8, ° нажать кнопку Обойти процедуру.
Программу можно выполнять по шагам с любого места, используя точку прерывания, которую устанавливают в программе, предварительно поместив курсор в нужной строке и выполнив одно из следующих действий: ° выбрать команду Выполнить/Точка останова, ° нажать клавишу Р9, ° нажать кнопку Точка останова. После установа точки прерывания цвет строки меняется на коричневый. После указания точек прерывания запуск программы производится одной из следующих операций: 118 Программирование в среде у1еиа/ Вае/сГог Арр!/сапот ° выбрать команду Выполнить/Начать, ° нажать кнопку Г5, ° нажать кнопку Выполнить макрос. Программа прервется на том месте, где установлена точка прерывания.
Для удаления точки прерывания надо поместить курсор в строке с этой точкой и повторить одно из перечисленных выше действий по ее установке. Кроме того, можно размещать точки прерывания программно на листе модуля с помощью операторов Мор. При пошаговой отладке программы можно отслеживать изменения значений переменных с помощью вкладки Значение окна Отладка. Для этого надо выделить переменную в программе на Панели кода и выполнить команду Сервис/Добавление контрольного значения.
После нажатия кнопки ОК данная переменная помещается на вкладку Значение. Чтобы добавить наблюдения за новой переменной, надо повторить с ней описанные выше действия или выбрать ее и щелкнуть кнопку Контрольное значение. Щелчок на кнопке Добавить открывшегося окна Просмотр значения выражения добавит новую переменную на вкладку Значение. После этого необходимо закрыть окно Отладка и выполнить в пошаговом режиме программу. Текущие изменения выбранных переменных будут отображаться на вкладке Значения. Для удаления переменной с вкладки Значение достаточно расположить курсор на строке с этой переменной и нажать клавишу <Ое!е~е>. С помощью команды Сервис/Изменить контрольное значение можно изменить тестируемую переменную.
16. Применение пользовательских форм Элементы управления можно размещать не только на рабочих листах, но и на пользовательских формах 1)яегрогш. Таким образом, вы можете создавать свои собственные диалоговые окна. При этом элементам управления, расположенным на форме, назначаются процедуры и устанавливаются значения свойств в окне Свойств так же, как и для элементов управления на рабочем листе. По умолчанию формы имеют имена Юяегрогщ1, $Ьегроггп2, 1/яегрогпзз и т. д.
Для изменения имени формы необходимо изменить значение свойства Сарноп формы. Для создания формы выполните команду Сервис/Макрос/Редактор У!яа! Ваяс. Выполните команду Вставка/Юяегрогщ. При этом будет создана пустая форма с именем 1)зеггогщ1 (рис. 16.1). Выделите форму, щелкнув по ней левой кнопкой мыши. Откройте контекстное меню, щелкнув по форме правой кнопкой мыши, и выберите пункт Свойства. Установите вместо значения Ювегрогт1 (по умолчанию) требуемое значение, например Меню свойства Сартюп. Разместите на форме какие-либо элементы управления (например, из примеров 1 — 6).
Для удобства работы при размещении элементов управления на форме имеется разметка в виде точек. Кроме того, используя контекстное меню, вы можете выравнивать размеры и положение элементов управления на форме. Назначьте процедуры созданным элементам управления. Назначьте форме процедуру, которая должна будет выводить на экран форму для работы с ней. БаЬ Задача() Меаю.зное Едд БиЬ Эта процедура использует метод Яйои для вывода формы на экран. 120 Програимирован ие в среде )г/гиа! Ваг/с /ог Арр//салопе ° я)и'9)вйэгаг ! Ии ! пег е Рис.
16.1. Форма 1/зегГопп! и панель элементов Для удаления формы с экрана можно использовать метод НЫе. Для этого необходимо какой-либо кнопке на форме, например кнопке Отмена, назначить следующую процедуру: Зпь Сопппапднпьсопт С11сх() Меню. наде Впд ЗпЬ Для вывода формы на экран из приложения Ехсе! необходимо выполнить команду Сервис/Макрос/Макросы, выбрать из списка макросов макрос, выводящий форму на экран, и нажать кнопку Выполнить /например, макрос Задача). При этом на экран будет выведена форма с соответствующими элементами управления. Форма может быть активизирована не только из приложения Ехсе1, но и из среды 1/ВА; ° установите курсор в области процедуры, выводящей форму на экран, или сделайте активным окно с необходимой формой; ° выполните команду Запуск/Запуск подпрограммы/1/зегРопп.
1б. Применение нользовательскик форм 121 При этом откроется приложение МБ Ехсе! и будет активизирована выбранная форма. Подробнее с созданием пользовательских форм вы ознакомитесь на примерах, приведенных ниже. Каждому элементу управления в пользовательской форме можно назначить всплывающую подсказку, установив значение свойства Соп1го!Т)рТех! в окне свойств для каждого элемента управления. В результате установки значений свойства Соп1го!- Т!рТех! всех элементов управления пользовательской формы можно будет получить всплывающую подсказку об интересующем элементе формы (поле, надписи и т.
д.), указав на этот элемент управления мышью. Кроме того, можно разработать и более подробную развернутую справочную систему с оглавлением, поиском по ключевым словам и т. п. и связать справочный файл с пользовательской формой с помощью свойства Не!рСоп1ех!Ы. Более подробную информацию см. в [71. 17. Расчет маргинальной процентной ставки На примере следующих задач рассмотрим использование средства автоматической записи макросов МасгоКесогйег для упрощения и ускорения написания кода.
Разработаем приложение, решающее задачу расчета маргинальной процентной ставки при постоянных выплатах в течение согласованного срока Я41). Конструируя данное приложение, вы сможете освоить: ° метод Сов!реек решения уравнений, ° программный ввод формулы в ячейку рабочего листа, ° применение финансовой функции ПЗ (РУ), ° проверку корректности ввода данных из диалогового окна, ° назначение клавишам Ешег и Езс функций кнопок диалогового окна, ° назначение кнопкам всплывающих подсказок, ° использование Масгонесогйег для упрощения и ускорения написания кода, ° программное форматирование ячеек рабочего листа.