- •Шеверева е.А. Лекция № 1 по дисциплине 5422 «Средства разработки офисных приложений»
- •План лекции:
- •Текст лекции
- •1 Создание, редактирование и запуск программ
- •1.1 Редактор Visual Basic
- •1.2 Макросы
- •1.3 Процедуры
- •1.4 Использование значения, возвращаемого функцией
- •1.5 Выполнение процедуры Sub
- •1.6 Передача аргументов в процедуру
- •1.7 Именованные аргументы
- •1.8 Процедуры для обработки событий
- •1.9 Средства, ускоряющие написание программ
- •1.10 Проекты документов и шаблонов
- •1.11 Модули классов
- •2 Переменные, константы и типы данных
- •2.1 Типы данных в Visual Basic
- •2.2 Объявление константы, переменной или массива
- •2.3 Объявление объектной переменной
- •2.4 Встроенные константы
- •3 Управляющие конструкции
- •3.1 Операторы ветвления
- •Управляющая конструкция If…Then позволяет выполнять один или несколько операторов, если условие истинно. Можно использовать однострочный и блочный синтаксис.
- •3.2 Операторы цикла
- •3.3 Вложение управляющих конструкций
- •3.4 Выход из циклов и процедур
1.10 Проекты документов и шаблонов
Если процедуры предназначены для одного конкретного документа, рабочей книги или презентации, то код можно сохранить в проекте, связанном с этим документом, рабочей книгой или презентацией. Если же процедура нужна для нескольких документов, рабочих книг или презентаций, лучше сохранить ее в проекте, связанном с шаблоном.
После подключения шаблона в документе доступны все процедуры из этого шаблона. Изменения программного кода в шаблоне распространяются на любые, основанные на нем документы. Чтобы процедура стала доступна всем документам Word независимо от используемых в них шаблонов, следует поместить ее в шаблон Normal.dot, ссылки на который делаются в каждом документе автоматически.
Когда применяется шаблон к рабочей книге или презентации, код из проекта шаблона копируется в проект рабочей книги или презентации. В отличие от Word, Microsoft Excel и Power Point не присоединяют шаблоны к рабочей книге или презентации, и поэтому, изменения, внесенные в шаблон после его подключения, не отражаются на проектах соответствующих рабочих книг или презентаций. Если необходимо сделать процедуру доступной всем рабочим книгам Microsoft Excel независимо от используемых в них шаблонов, следует поместить ее в Personal.xls.
1.11 Модули классов
Модули классов предназначены для создания новых типов объектов – в тех случаях, когда нужны инкапсулируемые, повторно используемые блоки кода. Процедуры Sub и Function, объявляемые в модуле класса, становятся методами пользовательского объекта, а свойства, определяемые с помощью операторов Property Get, Property Let и Property Set, - свойствами этого объекта.
После добавления в проект модулей классов – выбрав из меню Insert (Вставка) команду Class Module (Модуль класса) или скопировав их из другого проекта, - в окне проекта появится папка Class Modules (Модули классов). Причем описание каждого класса размещается в отдельном (одном) модуле.
2 Переменные, константы и типы данных
2.1 Типы данных в Visual Basic
В VBA, как и во всех языках программирования высокого уровня, для хранения значений используются переменные и константы. Переменные могут содержать данные любых поддерживаемых типов (таблица 1.2).
Таблица 1.2 - Фундаментальные типы данных
Типы данных |
Описание |
Диапазон |
Byte |
1-байтовое двоичное число |
от 0 до 255 |
Integer |
2-байтовое целое |
от -32768 до 32767 |
Long |
4-байтовое целое |
от -2147483648 до 2147483647 |
Single |
4-байтовое число с плавающей точкой |
от -3.402823Е38 до -1.401298Е-45 (отрицательные значения) от 1.401298Е-45 до 3.402823Е38 (положительные значения) |
Double |
8-байтовое число с плавающей точкой |
от -1.79769313486231Е308 до -4.94065645841247Е-324 (отрицательные значения) от 4.94065645841247Е-324 до 1.79769313486231Е308 (положительные значения) |
Currency |
8-байтовое число с фиксированной десятичной точкой |
от -922337203685477.5808 до 922337203685477.5807 |
String |
Строка символов |
от нуля до почти двух миллиардов символов |
Variant |
Дата/время, число с плавающей точкой, целое, строка или объект; занимает 16 байтов плюс по 1 байту на каждый символ, если значением является строка |
даты: от 1 января 100 года до 31 декабря 9999 года числовые значения: тот же диапазон, что и для Double строки: тот же диапазон, что и для String позволяет также хранить значения Error или Null |
Boolean |
2 байта |
True или False |
Date |
8-байтовое значение даты/времени |
от 1 января 100 года до 31 декабря 9999 года |
Object |
4 байта |
ссылка на любой объект |