Отладка программ в редакторе VBA — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

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

Отладка программ в редакторе VBA

2023-02-03 26
Отладка программ в редакторе VBA 0.00 из 5.00 0 оценок
Заказать работу

 

Цель работы:изучить работу с окнами Immediateи Localsпри отладке программ в редакторе VBA.

 

Задание 1Работа с окном Immediate

1. Создайте в Excelновую рабочую книгу и сохраните ее с именемDebug1. xlsm.

2. Войдите в редактор VBA, вставьте в окно редактора новую форму (команда Insert>UserForm), разместите на форме элементы управления Label, TextBox и CommandButton. Оформите внешний вид формы, как показано на рис. 4.1.

 

Рис. 4.1 Внешний вид формы Системы счисления

 

3. В окне Propertiesвполе Nameдля элементовTextBoxи CommandButtonвведите имяв соответствии с таблицей 4.1.

4. Двойным щелчком по кнопке ОК откройте окно кода и введите между строчками Private Sub cmd_Ok_Click()иEnd Subследующий код:

Dim num_P, num_Q, num_10,num_S

num_P = Val(txt_P)

num_Q = Val(txt_Q)

For i = 1 To Len(txt_A)

 

 

num_10 = num_10 + Val(Mid(txt_A, i, 1)) * num_P ^ (Len(txt_A) - i)

‘Debug.Print ("num_10=" & num_10)

Next i

txt_B = ""

While num_10 <> 0

num_S = num_10 Mod num_Q

‘ Debug.Print ("num_S" & num_S)

txt_B = Mid(Str(num_S), 2, 1) + txt_B

‘ Debug.Print ("txt_B=" & txt_B)

num_10 = num_10 \ num_Q

Wend

 

Таблица 4.1 Имена элементов на форме Системы счисления

Элемент Наименование Имя
Форма Системы счисления UserForm1
Текстовое поле Из системы P txt_P
Текстовое поле Число для перевода txt_A
Текстовое поле В систему Q txt _Q
Текстовое поле Результат txt_B
Кнопка OK cmd_OK
Кнопка Очистка cmd_Clear
Кнопка Exit cmd_Exitr

 

5. Двойным щелчком по кнопке Exit откройте окно кода и введите между строчками Private Sub cmd_Exit_Click() и End Sub следующий код:

UserForm1.Hide

6. Двойным щелчком по кнопке Очистка откройте окно кода и введите между строчками Private Sub cmd_Clear_Click() и End Sub следующий код:

txt_A = ""

txt_B = ""

txt_P = ""

txt_Q = ""

7. Запустите программу на выполнение, введите исходные данные в первые три текстовых поля и нажмите ОК. При отсутствии ошибок в программе в текстовом поле Результатбудет выведен результат перевода введенного числа в системе с основанием P в систему с основаниемQ.

8. Удалите символ комментария в строках процедуры cmd_Ok_Click, содержащих оператор Debug. Printдля его исполнения в ходе выполнения программы. Этот оператор будет выводить текущие значения переменных num_10, num_S и текстового поля txt_Bв окно Immediate.

9. Откройте окно Immediate(<Ctrl+G>) ипроанализируйте значения, которые контролируемые величины принимали в ходе выполнения программы.

10. Оставьте окно Immediateвидимым на экране и запустите программу командойStepIntoв меню Debbug.

11.  Введите исходные данные в текстовые поля формы и последовательным нажатием клавиши <F8> выполните программу в пошаговом режиме, наблюдая в окне Immediate за изменением значений выводимых оператором Debug. Printвеличин.

 

Задание 2 Работа с окном Locals

1. Откройте окно Localsкомандой LocalsWindow в меню Viev.

2. Запустите программу в пошаговом режиме и проследите значения переменных num_P, num_Q, num_10, num_S на каждом шаге выполнения программы в окне Locals.Вид окна Localsна первом шаге выполнения цикла Fori = 1 …NextI показан рис. 4.2.

3. Просмотрите и попробуйте изменить в окне Locals свойства кнопок и текстовых полей,открыв контейнер специального объекта MEи контейнер соответствующего элемента управления. Вид окна Localsпри открытых свойствах формы и кнопки cmd_Clearпоказан на  рис. 4.3.

4. Сохраните книгу Debug1. xlsm и подготовьте отчет по лабораторной работе.

 

Задание для самостоятельной работы

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

 

Рис. 4.2 Вид окна Localsна одном из шагов отладки программы

Рис. 4.3 Вид окна Localsприоткрытых свойствах формы и кнопки cmd _ Clear

 

Методические материалы

 

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

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

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

В режим паузы программу можно перевести:

· сразу запустить программу в режиме пошагового выполнения (меню Debug>StepIntoиликлавиша<F8>). В этом случае программа будет переходить в режим паузы после выполнения каждого оператора;

· установить в программе точку останова (breakpoint). Это можно сделать установкой указателя в нужной строке кода и выбором в меню Debugкоманды Toggle Breakpoint (<F9>). Второй вариант - просто щелкнуть мышкой по рамке слева от строки. Снятие точки останова - сделать все то же самое еще раз;

· еще одна возможность приостановить выполнение программы - воспользоваться контролируемым выражением в окне Watch es.

В любом случае выполнение будет приостановлено в выбранном месте программы и следующий оператор, который должен быть выполнен, будет выделен желтым цветом.

В режим паузы можно:

· продолжить выполнение программы в пошаговом режиме - команда Debug->Step Into(<F8>);

· если в строке программы происходит вызов какой-то процедуры, которая уже отлажена, можно без остановок перейти к следующему оператору - Debug>Step Over(<Shift>+<F8>);

· довести выполнение начатой процедуры до конца - команда Debug>Step Out(Ctrl>+<Shift>+<F8>);

· исполнить код не пошагово, а участками.Для этого надо щелкнуть правой кнопкой мыши по нужному участку кода и в контекстном меню выбрать Run to Cursorили воспользоваться той же командой в меню Debug(<Ctrl>+<F8>);

· "перепрыгнуть" через какой-то участок кода, вызывающий ошибку - командаDebug>Set NextStatement(<Ctrl>+<F9>), а затем перетащить желтую отметку по левой границе вниз или вверх;

· вернуться к месту остановки без долгих розысков -Show Next Statement;

· продолжить выполнение после остановки - <F5> или воспользоваться командой Continue (она появится вместо команды Run) в меню Run;

· прекратить выполнение программы командойReset(<Alt>+<F4>).

В окне Immediate (вызовиз меню View или <Ctrl>+<G>) можно просматривать или изменять значения переменных и свойств объектов.

Вывод в окно Immediateзначений переменной aможно произвести, вписав в код программы строкуDebug.Print a.

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

Чтобы не печатать в окне Immediate выражения и имена переменных, которые уже есть в коде, можно воспользоваться перетаскиванием участков кода в окно Immediate из окна редактора кода с нажатой клавишей <Ctrl>для копирования.

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

Чтобы добавить контролируемое выражение в окно Watch es, нужно щелкнуть по нему правой кнопкой мыши и выбрать из контекстного меню командуAdd Watch.

Для редактирования контролируемоговыраженияв окнеWatchesиспользуется команда Edit Watch, для удаления - Delete Watch, для добавления нового -Add Watch.

Вид окна Watches с введенными двумя контролируемыми выражениями приведен на рис. 4.4.

 

Ртс. 4.4 Вид окна Watch esс добавленными контролируемыми выражениями


 

Лабораторная работа № 5


Поделиться с друзьями:

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

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

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.02 с.