- •Алгоритмизация и программирование лабораторный практикум по информатике для студентов экономических специальностей
- •Содержание
- •Введение
- •1 Пользовательский интерфейс vba
- •1.1 Особенности среды программирования
- •1.2 Запуск vba
- •1.3 Структура редактора Visual Basic
- •1.3.1 Окно проекта Project-vbaProject
- •1.3.2 Окно редактирования кода
- •1.3.3 Окно редактирования форм
- •1.3.4 Окно свойств “Properties”
- •1.3.5 Окно панели элементов управления (Toolbox)
- •2 Разработка программного кода
- •2.1 Структура проекта vba
- •2.2 Пользовательские подпрограммы-функции
- •2.3 Пользовательские подпрограммы-процедуры
- •2.4 Данные и их описание
- •2.4.1 Алфавит и лексемы языка
- •2.4.2 Переменные и константы
- •2.4.3 Объявление переменных
- •2.4.4 Объявление констант
- •2.4.5 Строковые переменные
- •2.4.6 Области видимости переменных и констант
- •2.4.7 Типы данных
- •2.5 Функции в vba
- •2.5.1 Математические встроенные функции
- •2.5.2 Математические функции, не представленные в vba
- •2.5.3 Функция форматирования данных
- •2.5.4 Функции преобразования типов
- •2.6 Операторы, выражения и операции
- •2.6.1 Операция присваивания
- •2.6.2 Математические операции
- •2.6.3 Операции отношения
- •2.6.4 Логические операции
- •2.6.5 Строковые операции
- •2.7 Отладка программ и обработка ошибочных ситуаций
- •2.7.1 Отладка
- •2.7.2 Точки останова (контрольные точки)
- •2.7.3 Наблюдение за данными с помощью просматриваемых значений
- •2.7.4 Пошаговое выполнение программы
- •2.7.5 Обработка ошибок
- •2.8 Условный оператор
- •2.9 Оператор выбора (переключатель)
- •2.10 Операторы цикла
- •2.10.1 Циклы с параметром For … Next
- •2.10.2 Циклы с условием (итерационные)
- •2.11 Табулирование функции
- •2.11.1 Табулирование функции одной переменной
- •2.11.2 Табулирование функции двух переменных (вложенные циклы)
- •2.12 Массивы
- •2.12.1 Объявление массива
- •2.12.2 Динамические массивы
- •2.12.3 Действия над массивами
- •2.12.4 Действия над элементами массива
- •2.12.5 Формирование массива
- •2.12.6 Одномерные массивы
- •2.12.7 Двумерные массивы. Вложенные циклы.
- •3 Объектно-ориентированное программирование на vba
- •3.1 Разработка программы создания приложения с помощью Форм
- •1 Этап. Разработка пользовательского интерфейса
- •II этап. Установка свойств объектов
- •III этап. Составление программного кода
- •IV этап – Запуск программы
- •3.2 Встроенные диалоговые окна в vba
- •3.2.1 Окна сообщений (MsgBox)
- •3.2.2 Окна ввода
- •3.3 Объекты формы в vba: Кнопки-переключатели, Контрольные индикаторы, Рамки
- •3.4 Объекты формы в vba: Полоса прокрутки и Счетчик
- •3.5 Объекты формы в vba: Список и Поле со списком
- •3.5.1 Заполнение списка и удаление его элементов
- •3.5.2 Список с несколькими столбцами
- •3.5.3 Многоэлементный выбор из списка
- •3.5.4 Добавление и удаление данных
- •3.6 Объект формы в vba: Рисунок
- •3.6.1 Добавление растровых изображений в форму
- •3.6.2 Вставка изображений в форму
- •3.7 Интеграция приложений: ms Excel и ms Word
- •3.7.1 Открытие документа ms Word функцией CreateObject
- •3.7.2 Открытие документа ms Word функцией GetObject
- •4 Литература, рекомендуемая для изучения
III этап. Составление программного кода
Большинство объектов, которые созданы, уже «знают», как работать после запуска программы, и готовы к приему данных от пользователя. Внутренняя функциональность создаваемых объектов – одна из мощнейших особенностей VBA.
В разрабатываемой программе необходим код, который будет вычислять значение выражения по определенной формуле с помощью вводимых пользователем чисел и отображать результат вычислений.
Вычислительная логика может быть встроена в приложение только с помощью программного кода, который точно определяет, что именно должна делать программа на каждом этапе работы. Программа управляется кнопками <Вычислить> и <END> (Конец), поэтому программный код будет связан с информацией, поступающей от этих кнопок.
Для работы с программным кодом командной кнопки нужно дважды по ней щелкнуть мышью. Например, щелкнем по кнопке <END> на форме. После этого появляется окно «Cod» (Код), изображенное на рисунке 30.
Рисунок 30 – Вид окна «Код»
Блок кода, связанный с частным объектом интерфейса, называется процедурой события VBA. Тело процедуры заключено между операторами, указывающими на начало и конец подпрограммы.
Private Sub CommandButton2_Click()
End Sub
Операторы тела и процедуры выполняются каждый раз, когда пользователь активизирует элемент интерфейса, ассоциированный с процедурой. В данном случае событием является щелчок мыши (Click), но могут быть и события другого типа. (Их можно увидеть в ниспадающем списке, щелкнув по стрелке правее надписи Click).
Разработаем программный код для кнопок <Вычислить> и <END>.
1 Открыть список объектов в окне «Code». Все объекты интерфейса Вычислить появятся в списке, как показано на рисунке 31.
Рисунок 31 – Вид списка объектов
2 Щелкнуть по строке CommandButton1 в списке. Появится «пустая» процедура, связанная с кнопкой <CommandButton1>.
Несмотря на то, что название кнопки было изменено на <Вычислить>, в программе ее имя осталось прежним.
Следует иметь в виду, что у каждого объекта интерфейса может быть несколько ассоциированных с ним процедур – по одной для каждого связанного с этим объектом события. В данном случае для кнопки <CommandButton1> задано только одно событие – щелчок мышью.
3 Набрать следующие программные строки:
Private Sub CommandButton1_Click()
Dim A, B, X, z1, z2, z3 As Single
A = Val(TextBox1.Text)
B = Val(TextBox2.Text)
X = Val(TextBox3.Text)
z1 = Abs(Log(X) / Log(10)) - Sqr(Abs(Cos(X) - Exp(X)))
z2 = Abs(Tan(Abs(A * X - B)) / Sin(Abs(X)) + B)
z3 = Atn(z2 / Sqr(Abs(1 - z2 ^ 2)))
Label1.Caption = Log(Abs(z1 * z3))
End Sub
Примечание. Функция Val преобразует текстовый аргумент в числовое значение (по умолчанию данные, введенные в текстовое поле, представляются как обычный текст).
4 Дважды щелкнуть мышью по командной кнопке <END> на форме (или выбрать строку Command2 в окне «Code».
5 Набрать программную строку процедуры, связанной с кнопкой <CommandButton2>. В данном случае это один оператор End. Он используется для останова программы и удаления ее с экрана (рисунок 32).
Рисунок 32 – Программный код, связанный с командной кнопкой 1 и 2