Главная страница
Навигация по странице:

  • 3.1.1.3. Пошаговое выполнение программ

  • Step Into

  • Ошибка . 1. Удалить инструкцию Debug.Print

  • Отмена

  • 3.1.2. Исправление ошибок Теперь можно исправить ошибку в процедуре Ошибка

  • Библиографический список

  • Программирование VBA. Федеральное агентство по образованию государственное образовательное учреждение высшего профессионального образования


    Скачать 2.93 Mb.
    НазваниеФедеральное агентство по образованию государственное образовательное учреждение высшего профессионального образования
    АнкорПрограммирование VBA.pdf
    Дата24.04.2017
    Размер2.93 Mb.
    Формат файлаpdf
    Имя файлаПрограммирование VBA.pdf
    ТипУчебное пособие
    #4339
    страница13 из 13
    1   ...   5   6   7   8   9   10   11   12   13

    Отмена, а затем на кнопке OK, что- бы закрыть последующее окно сообщения.
    9. Вернуться в редактор Visual Basic.
    В окне Immediate появятся две строки текста. Первая строка появилась во время первого выполнения процедуры, вторая – при повторном выполне- нии.
    3.1.1.3. Пошаговое выполнение программ
    В большинстве случаев при отладке проверяется логика выполнения процедуры, поэтому необходимо отслеживать порядок исполнения строк кода. Это особенно необходимо при проверке работы операторов If и
    Select. Для этого применяется особый режим выполнения программ – по- шаговое выполнение, когда программа останавливается после исполнения каждой строки кода.
    Существует два режима пошагового выполнения: Step Into (Тоталь- ное пошаговое выполнение) и Step Over (Пошаговое выполнение с пере- шагиванием через процедуры). Оба режима позволяют пошагово выпол- нять весь код процедуры и отслеживать значения переменных и свойств.
    Есть и различия между этими режимами. Если отлаживается проце- дура, которая вызывает другие процедуры, и нет необходимости их вы- полнять в пошаговом режиме, то используется режим Step Over. В этом режиме вызываемые процедуры выполняются в обычном режиме, а не пошагово. Если нужно просмотреть в пошаговом режиме и вызываемые процедуры, то применяется режим Step Into.
    Обычно в пошаговом режиме выполняется не вся процедура. Чаще точка останова устанавливается в том месте кода процедуры, которое вы- зывает сомнение. Затем процедура выполняется, доходит до точки оста- нова, останавливается, а далее применяется пошаговый режим. Покажем, как выполняется пошаговый режим на примере нашей процедуры Ошибка.
    1. Удалить инструкцию Debug.Print из процедуры.
    2. Установить точку останова в строке после оператора InputBox.
    3. Нажать клавишу F5, чтобы начать выполнение процедуры.
    4. Щёлкнуть на кнопке Отмена в окне ввода. Произойдёт переход в ок- но редактора Visual Basic, так как процедура достигла точки остано- ва. Следующий выполняемый оператор – оператор If. Надо просле- дить, как выполняется этот оператор. По логике, сейчас условное выражение в операторе If имеет значение True и должен выполнять-


    130
    ся оператор вывода окна сообщения о том, что процедура заверше- на.
    5. Нажать клавишу F8, чтобы перейти в пошаговый режим и выполнить следующий оператор. После проверки условия оператора If процеду- ра не стала выполнять оператор вывода окна сообщения, а перешла к пункту Else и выделила его, т.е. определена инструкция, которая работает не так, как было задумано.
    5. Нажать клавишу F5, чтобы продолжить выполнение процедуры в обычном режиме.
    3.1.2.
    Исправление ошибок
    Теперь можно исправить ошибку в процедуре Ошибка. Очевидно, что метод InputBox при щелчке на кнопке Отмена возвращает значение
    False, а не пустую строку, как первоначально ошибочно предполагалось.
    Ниже приведён код исправленной процедуры.
    Sub Ошибка()
    Dim response response = Application.InputBox("Введите ваше имя")
    If response = False Then
    MsgBox "Процедура завершена"
    Exit Sub
    Else
    MsgBox "Ваше имя - " & response
    End If
    End Sub
    Следует протестировать эту процедуру ещё раз, чтобы убедиться в том, что она работает так, как задумано.

    131
    Библиографический список
    1. Гарнаев А.Ю. MS Excel 2002: разработка приложений. – СПб.: БХВ-
    Петербург, 2003.
    2. Кузьменко В.Г. VBA 2002. – М.: ЗАО «Издательство БИНОМ», 2002.
    3. Пол Сана и др. Visual Basic для приложений (версия 5) в подлиннике: пер. с англ. – СПб.: BHV – Санкт-Петербург, 1997.
    4. Уокенбах, Джон. Профессиональное программирование на VBA в Excel
    2003: Пер. с англ. – М.: Издательский дом “Вильямс”, 2005.
    5. http://college.biysk.secna.ru/Acces/Glava%2013/Index13.htm
    6. http://text.fdc.seua.am/avtor/vba_intuit/index-2.htm
    7. http://tid.com.ua/tid1/addonres.php?id=6285)
    8. http://window.edu.ru/window_catalog/pdf2txt?p_id=21859 9. http://www.askit.ru/custom/vba_office/vba_office_plan.htm
    10. http://www.askit.ru/custom/vba_office/vba_office_plan.htm
    11. http://www.csu.ac.ru/rusear/VBA/9_VarTypeConst.htm
    12. http://www.eusi.ru/lib/podlin_programmirovanie_microsoft_excel_24/1.shtml
    13. http://www.firststeps.ru/vba/vbahelp/vbahelp1.html
    14. http://www.manage.ru/itm/excel/pikuza/01.shtml -Автомати. бизнес-проц.VBA
    15. http://www.eusi.ru/lib/podlin_programmirovanie_microsoft_excel_24/index.shtml

    132
    Оглавление
    1. Объектно-ориентированное программирование ................................... 3 2. Основные понятия .................................................................................... 7 2.1. Алфавит и словарь языка ..................................................................... 8 2.2. Переменные ......................................................................................... 10 2.3. Константы ............................................................................................. 13 2.4. Строковые переменные ...................................................................... 14 2.5. Массивы ................................................................................................ 15 2.6. Пользовательские типы данных ......................................................... 19 2.7. Операции VBA ...................................................................................... 20 2.8. Объектная модель Excel ..................................................................... 21 2.8.1. Свойства и методы объектов .......................................................... 21 2.8.2. Отображение объектной модели Excel .......................................... 22 2.8.2.1. Иерархия объектной модели ........................................................ 24 2.8.2.2. Ссылка на объекты в коде VBA .................................................... 24 2.8.3. Работа с объектами .......................................................................... 25 2.8.3.1. Задание свойств объекта .............................................................. 25 2.8.3.2. Использование методов объекта ................................................. 25 2.8.3.3. Переменные-объекты .................................................................... 27 2.8.3.4. Коллекции ....................................................................................... 27 2.8.3.5. Метод Add ....................................................................................... 28 2.8.3.6. Свойство Count .............................................................................. 28 2.8.4. Свойства и методы основных объектов Excel ............................... 28 2.8.4.1. Объект Application .......................................................................... 28 2.8.4.2. Объект Worksheet .......................................................................... 30 2.8.4.3. Объект Range ................................................................................. 31 2.8.5. Просмотр объектов ........................................................................... 33 2.8.6. Использование справочной системы .............................................. 35 2.8.6.1. Использование функциональной клавиши F1 ............................ 35 2.8.6.2. Использование помощника ........................................................... 36 2.9. Ввод и вывод данных .......................................................................... 38 2.9.1. Функция MsgBox ................................................................................ 38 2.9.2. Функция InputBox .............................................................................. 42 2.9.3. Метод InputBox .................................................................................. 43 2.9.4. Объединение текстовых строк ........................................................ 45 2.10. Концепция событий Excel ................................................................. 46 2.10.1. Типы событий Excel .......................................................................... 46 2.10.2. События объекта Workbook ............................................................. 47 2.10.3. События объекта Worksheet ............................................................ 51 2.10.4. События объекта Application............................................................ 52 2.10.5. События объекта UserForm ............................................................. 52 2.10.6. События, не связанные с конкретными объектами ....................... 52 2.10.6.1. Метод OnKey .................................................................................. 52 2.10.6.2. Событие OnTime ............................................................................ 54 2.11. Формы пользователя ........................................................................ 54

    133 2.11.1. Свойства, методы и события экранных форм ............................... 55 2.11.1.1. Некоторые свойства форм............................................................ 56 2.11.1.2. Некоторые методы форм .............................................................. 56 2.11.1.3. Некоторые события форм............................................................. 57 2.11.2. Элементы управления ...................................................................... 57 2.11.2.1. Элемент управления Label (Надпись) ......................................... 59 2.11.2.1.1. Окно свойств формы .................................................................. 59 2.11.2.2. Элемент управления CommandButton (Кнопка) ......................... 60 2.11.2.3. Элемент управления TextBox (Текстовое поле) ......................... 62 2.11.2.4. Элемент управления ComboBox .................................................. 64 2.11.2.5. Элемент управления ListBox (список) ......................................... 66 2.11.2.6. Элемент управления CheckBox (Флажок) ................................... 68 2.11.2.7. Элемент управления ToggleButton (Выключатель) .................... 68 2.11.2.8. Элемент управления OptionButton (Переключатель)................. 69 2.11.2.9. Элемент управления Image (Рисунок) ......................................... 70 2.11.2.10. Элемент управления ScrollBar (полоса прокрутки) ................. 70 2.11.2.11. Элемент управления SpinButton (Счётчик) .............................. 71 2.11.2.12. Элемент управления RefEdit (Поле со свёртыванием) .......... 71 2.11.2.13. Элементы управления на рабочем листе ................................ 73 2.12. Инструкции VBA ................................................................................ 77 2.12.1. Оператор присваивания ................................................................... 77 2.12.2. Инструкция Set .................................................................................. 77 2.12.3. Циклы ................................................................................................. 78 2.12.3.1. Инструкция For… Next ................................................................... 78 2.12.3.2. Инструкция While…Wend ............................................................ 80 2.12.3.3. Инструкция Do... Loop................................................................... 81 2.12.3.4. Инструкция For Each…Next .......................................................... 84 2.12.4. Инструкции перехода ...................................................................... 86 2.12.4.1. Инструкция условного перехода If…Then…Else ....................... 86 2.12.4.2. Инструкция Select…Case .............................................................. 90 2.12.4.3. Инструкция безусловного перехода GoTo ................................. 91 2.12.4.4. Инструкции перехода к обработчику ошибок On Error .............. 92 2.12.4.5. Инструкции прерывания выполнения блока Exit ....................... 94 2.12.4.6. Инструкция передачи управления выполнением процедуры подпрограмме внутри процедуры GoSub… Return .................................... 94 2.12.4.7. Инструкция передачи управления выполнением процедуры на одну из нескольких строк кода On…GoSub и On…GoTo ..................... 95 2.13. Функции VBA ..................................................................................... 97 2.13.1. Встроенные функции ........................................................................ 97 2.13.1.1. Математические функции ............................................................. 97 2.13.1.2. Функции преобразования данных ................................................ 97 2.13.1.3. Функции даты и времени ............................................................... 98 2.13.1.4. Строковые функции ....................................................................... 99 2.13.1.5. Примеры использования функций VBA ..................................... 100 2.13.1.5.1. Удаление ненужных символов ................................................ 100 2.13.1.5.2. Определение длины строки..................................................... 100

    134 2.13.1.5.3. Сравнение и поиск строк ......................................................... 101
    Функция StrComp ................................................................................ 101
    Функция InStr ...................................................................................... 102 2.13.1.5.4. Выделение части строки .......................................................... 103
    Функция Left ........................................................................................ 103
    Функция Right ..................................................................................... 103
    Функция Mid ........................................................................................ 103 2.13.1.5.5. Форматирование значений данных ........................................ 104 2.13.2. Функции, определённые пользователем ...................................... 105 2.14. Файлы VBA ...................................................................................... 107 2.14.1. Типы файлов в VBA ........................................................................ 107 2.14.2. Открытие и закрытие файла .......................................................... 108 2.14.3. Ввод данных в файл последовательного доступа ...................... 109 2.14.4. Вывод данных из файла последовательного доступа ................ 110 2.14.5. Работа с файлом произвольного доступа .................................... 112 2.15. Создание процедуры ...................................................................... 115 2.16. Выполнение процедуры ................................................................. 118 2.17. Сохранение процедуры .................................................................. 118 2.18. Запись последовательности действий пользователя ................. 118 2.19. Просмотр кода макроса .................................................................. 120 3. Отладка программ................................................................................. 122 3.1. Тестирование и отладка как этап разработки приложений ........... 123 3.1.1. Отладка ............................................................................................ 123 3.1.1.1. Режим останова ........................................................................... 125 3.1.1.2. Использование окна Immediate .................................................. 126 3.1.1.2.1. Просмотр значений в окне Immediate ........................................ 127 3.1.1.3. Пошаговое выполнение программ ............................................. 129 3.1.2. Исправление ошибок ...................................................................... 130
    Библиографический список ........................................................................ 131

    135
    Учебное издание
    Власовец Александр Михайлович
    ВВЕДЕНИЕ В VBA
    Учебное пособие
    Редактор Т.Ф. Морозова
    Подписано в печать 27.05.10. Формат 6084 1/16.
    Усл. печ. л. 8,4. Тираж 300 экз. Заказ 262. РТП изд-ва СПбГУЭФ.
    Издательство СПбГУЭФ. 191023, Санкт-Петербург, Садовая ул., д. 21.
    1   ...   5   6   7   8   9   10   11   12   13


    написать администратору сайта