Содержание

Слайд 2

Рекомендованная литература Основная литература: Гарнаев А.Ю., Рудикова Л.В., «Microsoft Office Excel

Рекомендованная литература

Основная литература:
Гарнаев А.Ю., Рудикова Л.В., «Microsoft Office Excel 2010. Разработка

приложений», СПБ, БХВ-Петербург, 514 с
Дополнительная литература:
Уокенбах Дж., Microsoft Excel 2010. Библия пользователя, Диалектика, 912 c.
А. Н. Тихомиров, П. В. Колосков, Р. Г. Прокди, «Весь Office 2010. 8 книг в 1. Полное руководство», М.: Наука и техника, 2011, 632 c.
http://office.microsoft.com/ru-ru/support/FX101851541.aspx# , от 3.12.2012
Слайд 3

Введение Visual Basic for Applications является единой средой разработки приложений во

Введение

Visual Basic for Applications является единой средой разработки приложений во всех

программах Microsoft Office. Основные принципы работы в среде VBA и в среде Visual Basic идентичны.
В данном курсе рассматривается версия VBA для MS Office 2003, однако используемые коды можно применять и в более новых версиях MS Office
Слайд 4

C помощью VBA можно записывать последовательности повторяющихся команд, характерных для какого-либо

C помощью VBA можно записывать последовательности повторяющихся команд, характерных для

какого-либо приложения, и назначать правила, в соответствии с которым эти последовательности (процедуры VBA) будут вызываться в приложении.
Средствами VBA можно обеспечить диалог с пользователем, обрабатывая реакцию пользователя на события в приложении.
С помощью VBA можно разрабатывать приложения, одновременно применяющие компоненты нескольких программ.
Слайд 5

Основные термины Модуль. Контейнер для текста программы на языке VBA. Подпрограмма.

Основные термины

Модуль. Контейнер для текста программы на языке VBA.
Подпрограмма. Один из

двух типов макросов. Другой тип макроса – это функция (Функция возвращает единственное значение)
Пользовательская форма (UserForm). Контейнер, содержащий элементы управления для пользовательского диалогового окна, а также текст программы на языке VBA для манипуляции этими элементами управления.
Процедура. Еще одно название макроса. VBA-процедура может быть подпрограммой или функцией.
Текст (код) программы. Команды языка VBA, которые помещаются на лист модуля при записи макроса. Текст программы на языке VBA можно также ввести вручную.
Элементы управления (Controls). Элементы пользовательской формы (или рабочего листа), с помощью которых можно осуществлять управление чем-либо. К ним относятся кнопки, флажки и списки.
Слайд 6

Основные понятия При объектно-ориентированном программировании практически все компоненты среды разработки являются

Основные понятия

При объектно-ориентированном программировании практически все компоненты среды разработки являются объектами.

В Excel VBA-объектом считается любой элемент приложения – ячейка, лист, рабочая книга, диаграмма. Фактически объектом является и само приложение Excel. Объекты могут включать области ячеек, рамки ячеек, окна, сценарии, стили, и т.д. Каждый класс объектов имеет свое множество свойств, функций и событий.
При добавлении объекта на рабочий лист, создается экземпляр класса объектов, и объекту присваиваются те значения свойств, которые определены в этом классе. По умолчанию экземпляры одного и того ж класса имеют имя, которое состоит из имени родительского класса и порядкового номера. Свойства каждого экземпляра одного и того же класса инициализируются одними и теми же значениями, за исключением свойства Name.
Слайд 7

Основные понятия Свойство является атрибутом объекта, описывающим, как объект выглядит (его

Основные понятия

Свойство является атрибутом объекта, описывающим, как объект выглядит (его цвет,

размер и местоположение) и как он действует (является ли видимым, ссылается ли на другой объект). Когда создаётся объект, Excel выполняет процедуру создания экземпляра этого объекта. Данная процедура, хранимая в классе объектов, присваивает значения всем свойствам, что позволяет вам сразу же работать с объектом. Чтобы в макросе VBA присвоить свойству новое значение, необходимо лишь создать оператор присваивания, в котором слева от знака равенства будут указаны имя и свойство объекта, а справа – новое значение (имя.свойство = значение).
Слайд 8

Основные понятия Метод – это действие, которое может быть выполнено над

Основные понятия

Метод – это действие, которое может быть выполнено над объектом.

Методы реализуются посредством выполнения процедуры, которая является членом класса объектов. Синтаксис вызова метода таков; имя объекта и имя метода, разделенные точкой. К примеру, для того чтобы использовать метод Protect для защиты объекта Sheet от внесения изменений, следует ввести такую команду: Sheet.Protect
События
Когда пользователь взаимодействует с определенным объектом на рабочем листе, совершается событие. Каждый класс объектов имеет собственную группу событий, на которые объекты данного класса реагируют. Так, рабочая книга имеет событие NewSheet, которое выполняется всякий раз, когда пользователь добавляет в нее новый лист.
Слайд 9

Макросы В Excel существует возможность создавать собственные макросы и таким образом

Макросы

В Excel существует возможность создавать собственные макросы и таким образом автоматизировать

выполнение основных операций.
Макрос представляет собой последовательность команд и функций, записанных в модуле VBA.
Есть два способа создания макроса: записывать свои действия во время работы с листом Excel или же написать макрос, используя редактор VBA.
Наиболее простым способом создания макрокоманды является ее запись с помощью макрорекордера. Макрорекордер протоколирует все выполняемые пользователем действия и представляет их в виде VBA-кода.
Слайд 10

Вызов макрорекордера Этапы записи макроса Запуск макрорекордера; присвоение макросу имени; выполнение записываемых операций; завершение записи.

Вызов макрорекордера

Этапы записи макроса
Запуск макрорекордера;
присвоение макросу имени;
выполнение записываемых операций;
завершение записи.

Слайд 11

Абсолютная и относительная адресация Обычно Excel при записи макроса использует абсолютную

Абсолютная и относительная адресация

Обычно Excel при записи макроса использует абсолютную адресацию

(ссылка на конкретную ячейку). Однако, во многих случаях, например, когда неизвестно, с какой точно ячейкой (диапазоном) будут проводиться действия необходимо использовать относительную адресацию. В таком случае, действия будут зависеть от того, какая ячейка является активной

Режим абсолютной/ относительной адресации включается/выключается кнопкой на панели рекордера во время записи макроса

Слайд 12

Макросы. Окно проекта Макрос начинается с оператора Sub. За ним следует

Макросы. Окно проекта

Макрос начинается с оператора Sub. За ним следует имя

макроса, которое служит для идентификации такового. После имени идет текст макроса, который можно редактировать, а также снабжать комментариями.
В начале каждого комментария должен стоять символ апострофа ('). Завершается макрос оператором End Sub.
Слайд 13

Среда программирования. Окно проекта Окно проекта расположено в верхнем левом углу

Среда программирования. Окно проекта

Окно проекта расположено в верхнем левом углу клиентской

области. Содержит иерархический список элементов проекта, напоминающий дерево папок, Существует один проект для каждой книги, открытой в данный момент.
Элементы окна называются узлами

На втором уровне находятся
Объекты Excel
Модули
Формы
Модули класса

Слайд 14

Объект ThisWorkbook (ЭтаКнига) Под каждым узлом объекта Microsoft Excel располагается узел

Объект ThisWorkbook (ЭтаКнига)

Под каждым узлом объекта Microsoft Excel располагается узел с

именем ThisWorkbook. Он представляет книгу проекта и ее код (также называемый модулем кода), который сохраняет события для книги. В этот компонент можно также поместить независимую процедуру, которая обычно входит в состав стандартных модулей.
События инициируют запуск определенных процедур. С книгами Excel связано 19 событий.
Примеры событий:
Open - возникает при открытии книги;
BeforeClose - наступает в момент закрытия книги;
NewSheet - наступает при добавлении в книгу нового листа;
BeforePrint - наступает перед распечаткой книги или части ее содержимого.
Слайд 15

Объекты Sheet Под каждым узлом объекта Microsoft Excel также располагаются узлы

Объекты Sheet
Под каждым узлом объекта Microsoft Excel также располагаются узлы для

каждого листа книги. При этом лист содержит таблицу или диаграмму, и, кроме того, в его состав входит компонент, включающий код событий. В этот компонент можно также поместить независимые процедуры, которые обычно находятся в стандартном модуле.
Стандартные модули
Модули содержат процедуры (функции и подпрограммы). Это могут быть макросы, которые запускаются пользователем, или служебные программы, используемые другими программами.
Слайд 16

Объекты UserForm (Формы) Существует возможность создания собственных диалоговых окон пользователя, которые

Объекты UserForm (Формы)

Существует возможность создания собственных диалоговых окон пользователя, которые называются

формами, или UserForm.
Кроме формы и элементов управления объект UserForm содержит код на языке VBA. Например, командной кнопке соответствует событие Click, наступающее после щелчка пользователя на кнопке.
Слайд 17

Модули классов Модули классов содержат код, относящийся к нестандартным объектам. Объектная

Модули классов

Модули классов содержат код, относящийся к нестандартным объектам. Объектная модель

Excel включает множество встроенных объектов (их число почти достигает 200), таких как книги, листы, диаграммы, шрифты и т. п. При этом существует возможность создавать нестандартные объекты и присваивать им определенные свойства. Это делается путем помещения соответствующего кода в модуль классов.
Слайд 18

Меню редактора VBA

Меню редактора VBA

Слайд 19

Меню Edit

Меню Edit

Слайд 20

Меню Options

Меню Options

Слайд 21

Окно Properties Окно Properties дает доступ к изменению свойств объекта. Его

Окно Properties

Окно Properties дает доступ к изменению свойств объекта. Его можно

использовать для изменения свойств объекта даже при отсутствии выполняемого кода, то есть в период проектирования. Некоторые свойства предназначены только для чтения
Большинство свойств можно менять как в период проектирования, так и во время выполнения кода.
Слайд 22

Окно Immediate Окно имеет две основные функции. Во-первых, можно послать в

Окно Immediate

Окно имеет две основные функции.
Во-первых, можно послать в него

выходные данные с помощью команды Debug.Print.
Второй основной функцией данного окна является выполнение команд.
Слайд 23

Окно просмотра объектов (Object Browser) В окне приводится список всех имеющихся

Окно просмотра объектов (Object Browser)

В окне приводится список всех имеющихся объектов,

которые можно использовать в проекте
Вызов – View>Object browser (F2)
Окно состоит из 3-х частей
Проект/Библиотека - В этом раскрывающемся списке можно выбрать различные проекты и библиотеки объектов. Выбор в списке строк <Все библиотеки> отображает список объектов всех библиотек.
Слайд 24

Object Browser Список Классы. После выбора из раскрывающегося списка Проект/Библиотека просматриваемой

Object Browser

Список Классы. После выбора из раскрывающегося списка Проект/Библиотека просматриваемой библиотеки,

например VBA, все классы объектов выбранной библиотеки выводятся в списке Классы.
Список Компоненты. После выбора класса из списка Классы просматриваемой библиотеки, например, все компоненты выбранного класса выводятся в списке Компоненты. При выделении строки в этом списке в нижней части окна Просмотр объектов приводится дополнительная информация о выбранном компоненте.
Слайд 25

Отладка кода F8 – шаг с заходом. Приводит к пошаговому выполнению

Отладка кода

F8 – шаг с заходом. Приводит к пошаговому выполнению подпрограммы

или функции.
Shift + F8 – шаг с обходом. Приводит к моментальному выполнению подпрограммы (функции) целиком.
Ctrl + Shift + F8 – шаг с выходом. Выполнение остановится на инструкции, следующей за вызовом.
Ctrl + F8 – выполнение кода до места расположения курсора.
F5 – выполнение кода.
Ctrl + Break – прерывание выполнения кода.
Shift + F9 – появляется диалоговое окно Quick Watch, позволяющее наблюдать за изменением определенной переменной в процессе выполнения кода.
F9 – точка останова. Будет создано место, в котором нормальное выполнение программы приостанавливается. Это полезно, если требуется быстро выполнить код до определенной инструкции, а затем перейти в пошаговый режим отладки кода.
Ctrl + Shift + F9 – снять все точки останова.
Слайд 26

Режимы работы Среда программирования может работать в одном из режимов: Проектирование

Режимы работы

Среда программирования может
работать в одном из режимов:
Проектирование
Выполнение (Run -

F5)
Прерывание – может вызваться пользователем (CTRL+Break) в случае, если программа зависла, или программой, при обнаружении ошибки в ходе выполнения кода, а также при достижении специальной команды кода (Stop) или точки останова (Breakpoint). Также этот режим вызывается оператором Watch
Слайд 27

Рекомендации по вводу кода программы Программа должна быть снабжена необходимым количеством

Рекомендации по вводу кода программы

Программа должна быть снабжена необходимым количеством комментариев.

(Заголовок, описание параметров и т.п.) Отсутствие комментариев сильно усложняет понимание кода.
Комментарий начинается с символа апострофа «´»
Длинные строки целесообразно разбивать на несколько с целью повышения читабельности.
Символ переноса строки «_»
Код программы должен быть структурирован при помощи отступов. Это делает код намного более удобочитаемым.
Слайд 28

Импорт и экспорт файлов Код макросов хранится в файле Excel. Однако

Импорт и экспорт файлов

Код макросов хранится в файле Excel. Однако при

необходимости можно организовать импорт/экспорт модулей с использованием меню «File»
Импорт/экспорт осуществляется для каждого модуля индивидуально.