VBA-методичка. Практикум по информатике для студентов очной формы обучения Часть ii. Visual Basic for Applications
Скачать 0.95 Mb.
|
Министерство образования РФ ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Л.П.Шишкина, Т.П.Бояринцева, Т.Н.Сержант ЛАБОРАТОРНЫЙ ПРАКТИКУМПО ИНФОРМАТИКЕдля студентов очной формы обучения Часть II. Visual Basic for Applications Издательство Иркутского государственного технического университета 2002 УДК [002.6+681.3](075.8)ББК 32.97я 73 Л.П.Шишкина, Т.П.Бояринцева, Т.Н.Сержант Лабораторный практикум по информатике. Часть II. Visual Basic for Applications. – Иркутск: Изд-во Иркутского госуд. техн. ун-та, 2002. - 52 с. Приводятся основные сведения о программировании на VBA (Visual Basic for Applications), а также лабораторные, контрольные и курсовые работы, позволяющие освоить основные приемы программирования с табличным процессором Excel. Часть II ориентирована на студентов дневной формы обучения. Она должна помочь им получить начальные навыки программирования в современной объектно и событийно-ориентированной визуальной среде программирования. Планируется также издание вариантов заданий на подготовку курсовых работ для студентов ряда факультетов - темы этих работ должны быть приближены к будущим специальностям студентов. Л.П.Шишкина, Т.П.Бояринцева, Т.Н.Сержант, Иркутский государственный технический университет, 2002Подписано в печать 26.02.2002. Формат 60 х 84/8. Бумага типографская. Печать офсетная. Усл. печ. л. 6,75 Уч.-изд. л. 7. Тираж 1000 экз. Зак. 2 ИД № 06506 от 26.12.01 Иркутский государственный технический университет 664074, Иркутск, ул. Лермонтова, 83 Содержание Стр.Введение 4 Создание интерфейса пользователя 4 Основные понятия 7 Редактор VBA 7 Работа с переменными, массивами, константами и со свойствами объектов 9 Основные инструкции языка Visual Basic 14 Создание пользовательских форм 20 Отладка приложений 21 Лабораторные работы 25 Самостоятельные и контрольные работы 34 Курсовые работы 36 Дополнительные курсовые работы для студентов горно-геологических специальностей 48 ЛИТЕРАТУРА 52 Введение Программирование – это теоретическая и практическая деятельность, связанная с созданием программ. Цель этого практикума – познакомить студентов с современными инструментальными средствами и методами создания программ. В качестве инструмента для создания приложений в данной работе выбран VBA –Visual Basic for Applications (Visual Basic для приложений). Этот выбор объясняется следующими причинами: VBA – это интегрированная среда визуального программирования, позволяющая создавать современные событийно-объектно-ориентированные приложения с унифицированным графическим интерфейсом; языковые средства VBA по гибкости и полноте не уступают языковым средствам других современных систем программирования и, следовательно, позволяют освоить типовые методы и приемы разработки программных процедур; VBA является общей языковой платформой для всех приложений MS Office и позволяет в создаваемых программах работать с объектами Word, Excel, Access, Power Point, OutLook, Binder; мы будем рассматривать VBA во взаимосвязи с Excel, размещая на листах Excel исходные данные и результаты решения задач. VBA – это сочетание современного языка программирования и вычислительных возможностей Excel. VBA содержит графическую среду, позволяющую создавать удобный интерфейс пользователя, наглядно конструируя экранные формы и управляющие элементы. Создание интерфейса пользователя Для создание интерфейса пользователя используются элементы управления и диалоговые окна. С помощью пункта меню Вид/Панели инструментов/Visual Basic разместим панель инструментов VBA рядом с другими панелями инструментов Excel. На этой панели расположены следующие значки: Выполнить макрос, Записать макрос, Редактор Visual Basic, Элементы управления и Режим конструктора. Третий значок применяется для переключения на окно редактора. Он нам понадобится позже, во время разработки процедур. А нажатие на кнопку с четвертым значком приведет к появлению в пределах листа Excel панели, содержащей элементы управления и три кнопки (с левого края): Режим конструктора, Свойства и Исходный текст. Флажок поле кнопка переключатель счетчик надпись Первая из этих кнопок позволяет перейти в режим конструктора. В этом режиме работа пользователя с таблицей Excel блокируется, но есть возможность создавать приложение VBA. Вторая кнопка позволяет открыть окно Свойства - в нем устанавливают свойства выделенного элемента управления. Третья кнопка позволяет переключиться в окно редактора, причем именно на процедуру обработки события, связанного с выделенным элементом управления. Итак, теперь на листе Excel имеется весь необходимый инструментарий для создания интерфейса приложения. Само создание интерфейса сводится к выбору элементов управления на панели инструментов, к их размещению на листе Excel с помощью мыши, и к установке свойств каждого элемента. Кроме того, для многих элементов управления требуется написать событийные процедуры. Чаще всего в интерфейс приложений включаются следующие элементы управления: Таблица 1. Элементы управления
2. Основные понятия Приложение, созданное на VBA, имеет модульную структуру. Это означает, что процедуры, входящие в приложение, группируются в модули. Проект – совокупность модулей, предназначенных для решения комплекса задач предметной области. Модуль – совокупность описаний, процедур и функций. Инструкция (оператор) – единица кода, которая является операцией или описанием. Описание – это инструкция, используемая для описания переменных, массивов, констант, типов данных, а также ссылок на внешние функции. Процедура – поименованный набор описаний и инструкций, сгруппированных для решения определенной задачи. Процедуры, переменные, модули, константы и другие объекты имеют имена. Имена должны быть понятными и отражать назначение объекта. При именовании следует придерживаться следующих правил: Длина имени не должна превышать 256 символов. В имени можно использовать любую комбинацию букв, цифр и символов, но оно должно начинаться с буквы. Имена не должны включать точек, пробелов и следующих символов: % & ! # @ $ Имена должны быть уникальны внутри области определения. Область определения зависит от того, где определена процедура, функция или переменная. В одном модуле не может быть процедур и функций с одинаковыми именами, а внутри процедуры или функции имена переменных и массивов не должны дублироваться. VBA позволяет создавать три типа процедур Sub, Function и Property. При запуске процедуры Sub выполняются команды процедуры, а затем управление передается в приложение или процедуру, которая вызвала процедуру Sub. Function (функция) также решает определенную задачу. Различие заключается в том, что функция возвращает единственное значение, поэтому обычно используется для выполнения вычислений. Property используется для ссылки на свойство объекта. Применяется для установки или получения значения пользовательских свойств форм и модулей. Процедуры Sub подразделяются на процедуры, связанные с элементами управления (событийные) и процедуры общего назначения. Объект - это программный элемент, который имеет свое отображение на экране, содержит некоторые переменные, определяющие его свойства и некоторые методы для управления объектом. Кроме элементов управления, имеется много встроенных объектов. Например, Worksheet - рабочий лист, Sheet - лист, Range - диапазон ячеек, Cells -ячейка, Dialogsheet - диалоговое окно. 3. Редактор VBA Разработка модулей (процедур) выполняется в редакторе VBA с использованием одного из двух основных методов. Автоматическая запись макроса и его редактирование. Этот метод позволяет записать выполняемые пользователем действия, а затем в любое время воспроизвести их, т.е. автоматизировать работу. При записи макроса основное приложение создает процедуру с именем макроса, которую можно просмотреть и отредактировать. Требуется выбрать кнопку Записать макрос, выполнить требуемую последовательность действий и остановить макрос.Затем выбрать записанный макрос в списке макросов и нажать кнопку Изменить. Запускается окно редактора VBA и в окне модуля выводится текст макроса. Запись макросов очень полезна для ознакомления с приемами программирования. Например, вы не знаете как запрограммировать вычерчивание отрезка прямой линии: включаете запись макроса, выполняете графические операции с помощью панели инструментов Рисование и смотрите, как выглядят соответствующие инструкции VBA. Создание процедур и функций в редакторе. В этом случае на лист Excel выносятся требуемые элементы управления и создаются процедуры, связанные с ними, а также процедуры и функции общего назначения. На рисунке 1 представлено окно проекта, в котором элементы отображаются в виде иерархической структуры, включающей формы, модули, объекты основного приложения (листы книги Excel) и рабочее окно редактора VBA. Ввод инструкций в редакторе VBA: В одной строке можно записать одну или несколько инструкций, Несколько инструкций в одной строке разделяются символом : (двоеточие), Для продолжения инструкции в следующей строке надо ввести пробел и символ _ (подчерк) в конце строки, Комментарии начинаются с символа ' (апостроф), комментарии служат для пояснения, они могут записываться как в отдельных строках, так и строке с инструкцией. Инструкция VBA состоит из элементов, среди которых могут присутствовать: Ключевое слово - это слово или символ, которые распознаются как элементы языка программирования, например, If, Else, Sub, For и т.д. Выражение - комбинация ключевых слов, переменных и констант; результатом выражения является строка, число или логическое значение. Переменная - поименованная область памяти, отведенная для временного хранения данных, которые могут изменяться при выполнении программы. Массив - поименованная область памяти состоящая из набора элементов (обычно - переменных) определенного типа, каждый элемент имеет свой порядковый номер. Порядковый номер называется индексом элемента в массиве. Константа - поименованный элемент, сохраняющий постоянное значение втечение выполнения программы. Методы и свойства объектов: методы - это действия, которые выполняются объектом, а свойства - это переменные, описывающие характеристики объекта. Методы и свойства записываются через точку после имени объекта, например, TextBox1.Text. Переключение на окно Excel С оздание формы в редакторе VBA Рис. 1. Окно Visual Basic, в нем окна проекта и редактора Структура процедуры: [Private] Sub имя ([аргументы]) - заголовок процедуры Инструкции - тело процедуры End Sub - конец процедуры Имя - имя создаваемой процедуры; Аргументы - переменные, позволяющие передать в процедуру требуемые значения. Private - процедура может использоваться только модулем в котором она находится. Структура функции: [Private] Function имя ([аргументы]) [As Type] - заголовок функции Инструкции - тело функции Имя= выражение - возвращаемое значение End Function - конец функции Имя - имя создаваемой функции; Аргументы - переменные, позволяющие передать в функцию требуемые значения. As Type - выражение, определяющее тип результата, возвращаемого функцией. Пример функции: вычисление длины окружности. Имя - Circle, аргумент -R (радиус окружности). Function Circle (R as Double) as Double Const Pi as Double= 3.14159 Circle=2*Pi*R End Function Вызов функции Circle из другой функции или процедуры: R2=5: S2 =Circle (R2) ' Значение S2 будет равно 31.4159 Аргумент, описанный в функции или в процедуре (в этом примере – это переменная R), называют формальным параметром, а значение аргумента, фактически передаваемое функции или процедуре при ее вызове (в этом примере – переменная R2) , называют фактическим параметром. Пример процедуры: вычисление длины окружности. Имя - Circle, аргументы: R(радиус окружности), S(длина окружности). Sub Circle (R as Double, S as Double) Const Pi as Double= 3.14159 S=2*Pi*R End Sub Вызов процедуры Circle из функции или другой процедуры: Circle R2, S2 4. Работа с переменными, массивами, константами и со свойствами объектов Приложение, созданное средствами VBA и встроенное в рабочую книгу Excel, хранит исходные, промежуточные данные и результаты их обработки в таблицах и отдельных ячейках на листах книги Excel, в переменных, в массивах переменных и в виде констант, а также в виде значений свойств объектов – элементов управления. Кроме того, VBA предоставляет средства для чтения данных из файлов и для записи в файлы. Для работы с данными используются инструкции языка программирования, процедуры и функции, но все эти средства рассчитаны на работу с данными определенных типов. Рассмотрим встроенные типы данных VBA (Таблица 2). Возможности конструирования в приложении собственных типов данных поясним позже. Таблица 2. |