- •Е. А. Сидорова, п. С. Челобанов основы программирования на vba омск 2011
- •1. Понятие и свойства алгоритма
- •1.1. Понятие алгоритма
- •1.2. Свойства и виды алгоритмов
- •1.3. Способы представления алгоритмов
- •2. Язык программирования vba
- •2.1. Языки программирования
- •2.2. Общие сведения о vba
- •2.3. Основные понятия языка программирования
- •2.4. Алфавит vba
- •2.5. Типы данных
- •2.6. Формы записи вещественных чисел в программе
- •2.7. Переменные
- •2.8. Константы
- •2.9. Встроенные функции
- •2.10. Выражения
- •2.11. Редактор Visual Basic
- •2.12. Правила записи и ввода программ на vba
- •2.13. Создание первой программы
- •3. Управление вводом и выводом данных
- •3.1. Оператор присваивания
- •3.2. Операторы ввода данных
- •3.3. Генерирование случайных чисел
- •3.4. Операторы вывода данных
- •4. Линейные вычислительные процессы
- •5. Разветвляющиеся вычислительные процессы
- •5.1. Алгоритм разветвляющегося процесса
- •5.2. Оператор условного перехода If
- •5.2.1. Однострочный (линейный) оператор If
- •If Условие Then Операторы_1 [ Else Операторы_2 ],
- •5.2.2. Блочная форма оператора If
- •5.3. Объединение условий с помощью логических операций
- •5.4. Оператор безусловного перехода GoTo
- •5.5. Оператор выбора Select Case
- •6. Символьные переменные
- •6.1. Общие понятия
- •6.2. Сравнение строк
- •6.3. Строковые функции
- •6.4. Оператор Mid
- •7. Введение в объектно-ориентированное программирование
- •7.1. Основные понятия
- •7.2. Создание пользовательского интерфейса
- •7.3. Установка свойств объектов и определение методов
- •7.4. Составление программного кода
- •7.5. Создание пользовательского приложения с использованием формы
- •7.5.1. Создание формы
- •7.5.2. Разработка программного кода
- •8. Циклические вычислительные процессы
- •8.1. Понятие цикла
- •8.2. Арифметический цикл
- •8.2.1. Цикл с разветвлением
- •8.2.2. Цикл со счетчиком. Вычисление максимума и минимума
- •8.2.3. Вложенные циклы
- •8.3. Вычисление сумм и произведений
- •8.4. Итерационные циклы
- •8.4.1. Операторы цикла Do … Loop
- •9. Модульное программирование.
- •9.1. Понятие процедуры
- •9.2. Параметры процедур – формальные и фактические
- •9.3. Разработка процедур-функций
- •9.4. Разработка процедур-подпрограмм
- •9.5. Срочный выход из процедур и циклов
- •10. Переменные с индексами. Одномерные массивы
- •10.1. Понятие массива
- •10.2. Ввод массива
- •10.2.1. Считывание массива с листа Excel
- •10.2.2. Заполнение массива случайными числами
- •10.3. Вывод массива
- •10.4. Решение задач с использованием массивов
- •644046, Г. Омск, пр. Маркса, 35
7.4. Составление программного кода
Переход к редактору программного кода для открытой формы осуществляется по клавише F7, возврат в окно дизайнера форм – Shift + F7. В окне редактирования программного кода (рис. 15) слева представлен список объектов, справа – список возможных событий для выбранного объекта. Чтобы написать код для обработки конкретного события, например, щелчка мыши на элементе управления, нужно выбрать объект и событие для него (щелчок мыши Click), а затем ввести текст соответствующей процедуры. Например, для реализации командной кнопки Выход по щелчку левой кнопки мыши в процедуру обработки события Click можно включить команду End (см. рис. 15).
Все начальные установки для инициализации формы обычно записывают в процедуре обработки события Initialize.
Рис. 15. Вид окна редактора программного кода
Если какие-то события (например, двойной щелчок мыши) для объекта в программе не реализованы, соответствующие действия пользователя будут проигнорированы.
Взаимодействие с элементами управления, в том числе ввод и вывод данных с использованием формы, выполняется следующим образом.
Для элемента управления Label (надпись):
Вывод заданного текста в надпись:
Имя_надписи.Caption = "Текст"
Пример: Фамилия.Caption = "Иванов С.Н.".
Очистка надписи:
Имя_надписи.Caption = "" '(пара кавычек, внутри ничего нет)
Вывод значения переменной в надпись:
Имя_надписи.Caption = Имя_переменной
Примеры: Значение_x.Caption = x
Значение_x.Caption = Format(x, "#0.00") 'Вывод в заданном формате с двумя десятичными знаками
Для элемента управления TextBox (текстовое поле):
Присвоение переменной значения, введенного в текстовое поле, т. е. извлечение информации из окна ввода:
Имя_переменной = Имя_TextBox.Text
Пример для строковой переменной: fam = Фамилия.Text.
Пример для числовой переменной: z = Val(Число_z.Text).
Вывод в текстовое поле значения переменной, в том числе при установке значения переменной по умолчанию:
Имя_TextBox.Text = Имя_переменной
Примеры: Число_z.Text = z, Число_z.Text = Format(z, "#0.00").
Очистка текстового поля:
Имя_TextBox.Text = "" '(пара кавычек, внутри ничего нет)
Рассмотренные свойства Caption для надписи и Text для текстового поля являются основными свойствами этих элементов управления и предполагаются по умолчанию. Поэтому при записи команд их можно опускать, например:
Фамилия.Caption = "Иванов С.Н." равнозначно Фамилия = "Иванов С.Н.",
z = Val(Число_z.Text) равнозначно z = Val(Число_z).
Для помещения фокуса клавиатуры, т. е. установки курсора на требуемый объект, применяется инструкция Имя_объекта.SetFocus.
7.5. Создание пользовательского приложения с использованием формы
В качестве примера разработки приложения с использованием формы рассмотрим процесс создания простой игры с названием «Угадай число». Суть игры: компьютер «загадывает» целое случайное число в определенном диапазоне. Играющий должен угадать это число. Программа должна информировать о том, угадано число или нет, а также о количестве попыток. На первом этапе разработки приложения создадим форму с необходимыми элементами управления, на втором – программный код.
