- •Шеверева е.А. Лекция № 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.2 Макросы
Все действия, выполняемые через пользовательский интерфейс можно перевести в программный код на VB с помощью записи макроса. Записанный таким образом простейший макрос служит основой для создания более сложного макроса, а также формирует представление об объектах, свойствах и методах конкретного приложения Office. Для записи макроса предусмотрено меню Сервис Макрос начать запись.
Для перехода в текст любой процедуры используется окно проекта. Большинство процедур общего назначения, включая записанные макросы, хранится в стандартном модуле Modules (папка Модули). Место хранения, макроса зависит от того, что именно выбрано при его записи в списке «Макрос доступен для» диалогового окна «Запись макроса»: This Workbook (Эта книга) в Microsoft Excel – модуль Module1 в папке Modules проекта данной рабочей книги; All documents (Normal.dot) [Все документы (Обычный.dot)] в Word – модуль NewMacros в папке Modules проекта Normal; текущая презентация в Power Point - модуль Module1 в папке Modules проекта данной презентации.
1.3 Процедуры
Если необходимо записать код, не связанный с каким-либо объектом или событием, следует создать процедуру в стандартном модуле. Процедура – это блок кода между операторами Sub и End Sub или Function и End Function. Чтобы создать пустой стандартный модуль, следует перейти в окно проекта и добавить модуль, выбрав в меню Insert (Вставка) команду Module (Модуль). Чтобы добавить процедуру к модулю, следует открыть его в окне проекта, выбрать в меню Insert (Вставка) команду Procedure (Процедура), в диалоговом окне Add procedure (Вставка процедуры) установить любые нужные параметры.
Добавив процедуру к модулю, можно написать ее код.
Если необходимо написать код, автоматически выполняемый при возникновении события, то следует создать процедуру, связанную с событием, генерируемым объектом или формой.
Несмотря на то, что макрос и процедура иногда употребляют как синонимы, они обозначают разные понятия. Процедуры – термин более широкий; он применим к любому блоку кода, заключенному между операторами Sub и End Sub или Function и End Function. Макрос – это специфический термин, имеющий отношение только к открытым (public) процедурам Sub без параметров. Следовательно, все макросы это процедуры, но не все процедуры макросы. К макросам относятся процедуры, генерируемые при записи макроса, а также все процедуры, которые можно запускать из диалогового окна Macros (Макрос) любого приложения Office.
В Visual Basic можно создавать процедуры двух типов: Sub и Function. Процедуры типа Sub – блок кода, заключенный между операторами Sub и End Sub; он выполняет заданную операцию, но значения не возвращает.
Процедуры типа Function – блок кода, заключенный между операторами Function и End Function; от также выполняет определенную операцию, но при этом обязательно возвращает какое-нибудь значение.
Различают открытые и закрытые процедуры. Открытую процедуру, объявленную с помощью ключевого слова Public разрешается вызывать из любой процедуры любого модуля приложения. Закрытую процедуру, объявленную с помощью ключевого слова Private, можно вызывать только из процедур, содержащихся в том же (что и закрытая процедура) модуле. Процедуры Sub и Function могут быть либо закрытыми, либо открытыми.
Если в объявлении процедуры не указано ни одного из ключевых слов, то по умолчанию она считается открытой.
Хотя для создания открытой процедуры использовать ключевое слово Public не обязательно, включение его в объявление процедуры упрощает понимание того, какие процедуры открытые, а какие закрытые.