- •Лабораторная работа №1 Запись последовательности действий пользователя
- •Общие положения
- •Знакомство с интерфейсом пользователя в разных версиях ms Office
- •Создание макроса с помощью авторекодера
- •Установка уровня безопасности
- •Работа с авторекордером
- •Ввод заголовка и “шапки” таблицы
- •Ввод расчётных формул
- •Форматирование таблицы
- •Ввод данных
- •Контрольное упражнение к лабораторной работе №1
Лабораторная работа №1 Запись последовательности действий пользователя
Цель: научиться создавать макросы автоматически с помощью авторекодера, выполнять макросы и производить в программном коде макросов изменения, а также ознакомление с редактором VBA (VBE –Visual Basic Editor).
Литература: при подготовке к лабораторной работе рекомендуется изучить ХХХ главу учебного пособия «Программирование на VBA в MS Excel 2013».
Общие положения
Основной задачей офисного программирования является создание документа.
В данном контексте "документ" понимается как объект в объектно-ориентированном программировании и представляет совокупность данных разного типа и программ, обрабатывающих эти данные.
Под документами Office понимают документы разных типов - рабочие книги Excel, документы Word, базы данных Access, презентации PowerPoint. С любым из этих документов связываются и данные и программы.
VBA поддерживается следующая структура программы.
На высшем уровне иерархии стоит приложение, в котором может быть создано несколько проектов.
Программный проект – часть документа, которая хранится вместе с документом и не может быть отделена от него. Невозможно создать независимый от документа проект на VBA. Каждому документу (или шаблону) соответствует свой проект. Каждый проект связан со своим документом (шаблоном).
Проект представляет собой набор программных модулей, связанных с основным документом приложения.
Программный модуль имеет жесткую структуру и вне зависимости от его типа (модуль, модуль класса, модуль формы…) включает в себя Раздел объявлений переменных уровня модуля (General Declarations section) и ряд подпрограмм (процедур).
Раздел объявлений идет первым и автоматически отделяется чертой от раздела процедур. Область действия этих переменных распространяется на модуль, но может быть и расширена.
Каждая подпрограмма в модуле может быть либо функцией Function, либо процедурой Sub. Так сложилось, что в литературе по VBA подпрограмму называют процедурой и говорят, что в языке VBA два типа процедур – процедуры Sub и процедуры Function (либо просто функции).
Определение процедуры Sub имеет следующий синтаксис:
Sub имя процедуры ([список аргументов])
‘ тело процедуры
End Sub
Список аргументов должен соответствовать передаваемым параметрам при вызове процедуры. В случае если процедуре параметры не передаются, список аргументов отсутствует (пустые круглые скобки).
Процедура без параметров называется макросом.
Макрос в Excel может быть создан автоматически макрорекодером.
Макрорекодер – транслятор действий пользователя на язык программирования. Результатом действия макрорекодера является создание макроса.
В Microsoft Excel программный код может храниться:
в рабочих книгах (workbooks) - в текущей или личной книге макросов.
Код сохраняется с рабочей книгой и становится доступным, когда пользователь открывает ее.
По умолчанию Excel помещает макрос в модуль активной рабочей книги.
При желании можно записать его либо в новой рабочей книге (откроется пустая новая книга) либо в личной книге макросов. Личная книга макросов записана в файле Personal.xlsb, который хранится в папке XLStart. Загрузка книги происходит после запуска Excel и, соответственно, код доступен всегда при работе с Microsoft Excel. Данная книга скрыта, поэтому при обычной работе не видна. Файл Personal.xlsb не существует до тех пор, пока не будет записан в нее первый макрос.
в шаблонах (templates)
Если вы сохраните рабочую книгу как шаблон, то код, созданный в ней, будет сохранен в шаблоне Microsoft Excel, В дальнейшем вы сможете создавать новые рабочие книги на базе этого шаблона. Когда Вы создаете книгу на базе шаблона, Microsoft Excel копирует шаблон в рабочую книгу, при этом копируется и находящийся в нем код.
В отличие от документа Word, который связан со своим шаблоном, Microsoft Excel не связан с шаблоном, т.е. любые изменения, сделанные в шаблоне, не отразятся на рабочих книгах, ранее созданных на этом шаблоне.
в надстройках (add-ins)
Сохраняя рабочую книгу как надстройку, вы сохраняете ее с расширением .xlam. Затем для расширения возможностей Microsoft Excel, вы можете подгружать созданные надстройки.
