- •Минобрнауки россии
- •Оглавление
- •Введение
- •1. Лабораторная работа № 1
- •1.1. Создание интерфейса пользователя
- •1.1.1. Основные понятия
- •1.1.2. Редактор vba
- •1.2. Работа с переменными, массивами, константами
- •1.2.1. Основные инструкции языка Visual Basic
- •1.2.3. Создание интерфейса пользователя
- •1.2.4. Окно свойств
- •1.2.4. Меню Edit
- •1.2.5. Меню View
- •1.2.6. Меню Format
- •1.3.1. Пользовательские формы
- •1.3.2. Свойства объекта UserForm
- •1.3.3. Методы объекта UserForm
- •1.3.4. События объекта UserForm
- •1.4. Контрольные вопросы
- •2. Лабораторная работа № 2
- •2.1. Элементы управления
- •2.1.1. Свойства элементов управления
- •2.1.2. Методы и события элементов управления
- •2.2. Командная кнопкаCommandButton
- •2.3. Элемент управления надписью (метка)Label
- •2.4. Текстовое окно (поле ввода)TextBox
- •2.5. Контрольные вопросы
- •3. Лабораторная работа № 3
- •3.1. Алгоритм. Способы записи алгоритма
- •3.1.1. Структуры алгоритмов
- •3.1.2. Линейная структура алгоритма
- •3.3. Полоса прокрутки
- •3.4. Задания для выполнения
- •Контрольные вопросы
- •4. Лабораторная работа № 4
- •4.1. Разветвляющаяся структура алгоритма
- •4.1.1. Условный оператор if
- •4.1.2. Оператор выбора Select Case
- •4.1.3. Оператор выбора GoTo
- •4.2. Задания для выполнения
- •4.3. Контрольные вопросы
- •5. Лабораторная работа № 5
- •5.1. Циклические структуры алгоритмов
- •5.1.1. Фиксированные циклы
- •5.2. Элемент управления ListBox (список)
- •5.3. Поле со списком
- •5.4. Задания для выполнения
- •5.5. Контрольные вопросы
- •6. Лабораторная работа № 6
- •6.1. Циклы с условием (неопределённые циклы)
- •6.2. Элемент управления Рамка
- •6.3. Элементы управления Флажок и Переключатель
- •6.4. Задания для выполнения
- •6.5. Контрольные вопросы
- •7. Лабораторная работа № 7
- •7.1. Массивы
- •7.1.1. Объявление массивов
- •7.1.2. Объявление массива фиксированного размера
- •7.1.3. Объявление динамического массива
- •7.2. Задания для выполнения
- •7.3. Контрольные вопросы
- •8. Лабораторная работа №8
- •8.1. Работа с матрицами
- •Задания для выполнения
- •8.3. Контрольные вопросы
- •9. Лабораторная работа №9
- •9.1.Список и его составные элементы
- •9.2. Формирование списка
- •9.3. Задания на выполнения
- •10. Задания для самостоятельной работы
- •Приложение
- •Библиографический список
- •Лабораторный
1.1.2. Редактор vba
Разработка модулей (процедур) выполняется в редакторе VBA с использованием одного из двух основных методов.
Автоматическая запись макроса и его редактирование. Этот метод позволяет записать выполняемые пользователем действия, а затем в любое время воспроизвести их, т. е. автоматизировать работу. При записи макроса основное приложение создаёт процедуру с именем макроса, которую можно просмотреть и отредактировать. Требуется выбрать кнопку «Записать» макрос, выполнить требуемую последовательность действий и остановить макрос. Затем выбрать записанный макрос в списке макросов и нажать кнопку «Изменить». Запускается окно редактора VBA и в окне модуля выводится текст макроса. Запись макросов очень полезна для ознакомления с приёмами программирования. Например, не знаете, как запрограммировать вычерчивание отрезка прямой линии: включаете запись макроса, выполняете графические операции с помощью панели инструментов «Рисование» и смотрите, как выглядят соответствующие инструкции VBA.
Создание процедур и функций в редакторе. В этом случае на лист Excel выносятся требуемые элементы управления и создаются процедуры, связанные с ними, а также процедуры и функции общего назначения.
На рисунке 3 представлено окно проекта, в котором элементы отображаются в виде иерархической структуры, включающей формы, модули, объекты основного приложения (листы книги Excel) и рабочее окно редактора VBA.
Ввод инструкций в редакторе VBA:
В одной строке можно записать одну или несколько инструкций.
Несколько инструкций в одной строке разделяются символом : (двоеточие).
Для продолжения инструкции в следующей строке надо ввести пробел и символ «_» (подчеркивание) в конце строки.
Комментарии начинаются с символа «'» (апостроф), комментарии служат для пояснения, они могут записываться как в отдельных строках, так и строке с инструкцией.
Рисунок 3 – Интерфейс пользователя
Инструкция VBA состоит из элементов, среди которых могут присутствовать:
1. Ключевое слово – это слово или символ, которые распознаются как элементы языка программирования, например: If, Else, Sub, For и т. д.
2. Выражение – комбинация ключевых слов, переменных и констант. Результатом выражения является строка, число или логическое значение.
3. Переменная – поименованная область памяти, отведенная для временного хранения данных, которые могут изменяться при выполнении программы.
4. Массив – поименованная область памяти, состоящая из набора элементов (обычно – переменных) определённого типа, каждый элемент имеет свой порядковый номер. Порядковый номер называется индексом элемента в массиве.
5. Константа – поименованный элемент, сохраняющий постоянное значение в течение выполнения программы.
6. Методы и свойства объектов: методы – это действия, которые выполняются объектом, а свойства – это переменные, описывающие характеристики объекта. Методы и свойства записываются через точку после имени объекта, например: TextBox1.Text.
1.2. Работа с переменными, массивами, константами
Приложение, созданное средствами VBA и встроенное в рабочую книгу Excel, хранит исходные, промежуточные данные и результаты их обработки в таблицах и отдельных ячейках на листах книги Excel, в переменных, в массивах переменных и в виде констант, а также в виде значений свойств объектов – элементов управления. Кроме того, VBA предоставляет средства для чтения данных из файлов и для записи в файлы. Для работы с данными используются инструкции языка программирования, процедуры и функции, но все эти средства рассчитаны на работу с данными определённых типов. Рассмотрим встроенные типы данных VBA (табл. 2). Возможности конструирования в приложении собственных типов данных поясним позже.
Таблица 2 – Встроенные типы данных VBA
Тип данных |
Размер в байтах |
Разрядность (цифр) |
Диапазон, пояснение |
Boolean |
2 |
1 |
True,False– логические значения |
Byte |
1 |
≤ 3 |
0, 255 – целые положительные числа |
Integer |
2 |
≤ 5 |
–32768, 32767 – целые числа |
Long |
4 |
≤ 10 |
–2147483648, 2147483647 – длинные целые |
Single |
4 |
≤ 7 |
–3.402823.1038, –1.401298.10-45– отрицательные числа 1.401298.10-45, 3.402823.1038 – положительные числа |
Double |
8 |
≤ 15 |
Действительные числа с двойной точностью |
Currency |
8 |
≤ 19 |
Действительные числа с 4 знаками после десятичной точки. Используются для точных денежных расчетов |
Date |
8 |
|
01.01.0100, 31.12.9999 – даты |
String |
1+L |
|
Строка из L символов; L≤ 65535 |
Object |
4 |
|
Объект – фактически, ссылка на него, т. е. адрес его размещения в оперативной памяти |
Variant |
|
|
Может принимать любой тип данных, т. е. настройка на тип операнда происходит во время исполнения инструкций или процедур |
Когда при разработке приложения возникает необходимость в переменной для хранения данных, её описывают в модуле перед процедурами или в конкретной процедуре. В первом случае переменная будет доступна всем процедурам модуля (как контейнер общего пользования), а если в её описании применено ключевое слово Public, то переменную смогут использовать даже процедуры других модулей. Такую переменную называют глобальной. В ней удобно размещать данные, требуемые многим процедурам. Переменная, описанная внутри процедуры, называется локальной – она используется только в этой процедуре, а в других могут быть переменные с таким же именем.
Оператор, определяющий с помощью ключевых слов Dim и As тип переменной, имеет синтаксис:
Dim [Имя переменной] As [Тип данных].
Основные типы данных представлены в табл. 2.
Более полная характеристика типов данных даётся в [3].
Если не указан тип переменной, то по умолчанию используется тип Variant. Переменные этого типа могут содержать данные любого типа, кроме типов, определённых пользователем, и строк фиксированной длины. Тип такой переменной изменяется в зависимости от последнего присвоения. Поэтому тип Variant очень удобен. Однако указание конкретного типа позволяет делать функции более удобными и надёжными.
VBA предоставляет возможность изменять принятый по умолчанию тип сразу для всего диапазона имен переменных. Для этого используются ключевые слова, перечень которых приведён в таблице 3.
Таблица 3 – Типы переменных и определяющие их ключевые слова
Тип переменной |
Ключевое слово |
Integer |
DefInt |
Long |
DefLn |
Single |
DefSng |
Double |
DefDbl |
Currency |
DefCur |
String |
DefStr |
Byte |
DefByter |
Boolean |
DefBool |
Date |
DefData |
Variant |
DefVar |
Object |
DafObj |