
- •Оглавление
- •Введение
- •1. Объекты ms Excel
- •1.1. Объекты, их свойства и методы
- •1.1.1. Свойства: присвоение и использование значений
- •1.1.1.1. Присвоение значений
- •1.1.1.2. Использование значений
- •1.1.2. Примеры использования методов рабочей книги Excel
- •1.1.2.1. Вызов метода
- •1.1.2.2. Передача аргумента в метод
- •1.2. Ссылки на одиночные объекты и объекты из семейств
- •1.2.1. Различия между одиночными объектами и объектами из семейств
- •1.2.2. Семейства как объекты
- •1.2.3. Ссылка на объект
- •1.3. Иерархия объектов ms Excel
- •1.3.1. Иерархическая структура
- •1.3.2. Доступ к объектам через свойства и методы
- •1.4. Объект Application
- •1.4.1. Свойства объекта Application
- •1.4.2. Методы объекта Application
- •1.5. Объект Workbook и семейство Workbooks
- •1.5.1. Свойства объекта Workbook и семейства Workbooks
- •1.5.2. Методы объекта Workbook и семейства Workbooks
- •1.5.3. Функции, используемые для работы с файлами и папками
- •1.5.4. Функция MsgBox
- •1.5.5. Функция InputBox
- •1.6. Объект Worksheet
- •1.6.1. Свойства объекта Worksheet и семейства Worksheets
- •1.6.2. Методы объекта Worksheet и семейства Worksheets
- •1.7. Объект Range
- •1.7.1. Свойства объекта Range
- •1.7.2. Методы объекта Range
- •2. Использование переменных в vba
- •2.1. Допустимые имена
- •2.2. Типы данных переменных vba
- •2.3. Описание переменной
- •2.4. Использование переменных
- •2.5. Преимущества переменных
- •2.6. Объектные переменные
- •2.6.1. Задание объектной переменной
- •2.6.2. Объектные переменные общего типа
- •2.6.3. Объектные переменные конкретных типов
- •2.6.4. Преимущества объектных переменных
- •2.7. Неявное описание переменных и тип Variant
- •2.8. Обязательное описание переменных
- •2.9. Типы данных по умолчанию
- •2.10. Пользовательские типы данных
- •3. Массивы vba
- •3.1. Размерность массива
- •3.2. Объявление массива
- •3.3. Использование массива
- •3.4. Номер первого элемента и границы массива
- •3.5. Динамические массивы
- •3.6. Сохранение данных в динамическом массиве при изменении последней размерности
- •3.7. Пять функций для работы с массивами
- •4. Константы
- •5. Вызов одной программы из другой
- •5.1. Фрагментирование кода
- •5.2. Передача данных при вызове программы
- •6. Использование функций в vba
- •7. Область видимости переменных, констант, подпрограмм и функций
- •7.1. Область видимости переменных
- •7.1.1. Переменные уровня процедуры
- •7.1.2. Переменные уровня модуля
- •7.1.3. Переменные уровня проекта
- •7.1.4. Сохраняемые переменные
- •7.1.5. Область видимости подпрограмм и функций
- •7.1.6. Сохраняемые подпрограммы и функции
- •8. Управляющие структуры
- •8.1. Управляющая инструкция If-Then-Else
- •8.2. Управляющая инструкция Select Case
- •8.3. Управляющая инструкция For-Next
- •8.4. Управляющая инструкция For-Each-Next
- •8.4.1. Инструкция For-Each-Next с многомерными массивами
- •8.4.2. Инструкция For-Each-Next с семействами
- •8.5. Управляющая инструкция While-Wend
- •8.6. Управляющая инструкция Do-Loop
- •9. Инструкция With
- •10. Встроенные функции vba
- •10.1. Математические функции
- •10.2. Функции проверки типов
- •10.3. Функции преобразования форматов
- •10.4. Функции обработки строк
- •10.5. Функции времени и даты
- •11. Обработка ошибок
- •11.1. Предотвращение ошибок программными средствами
- •11.2. Обработка ошибок, инструкция On Error
- •12. Разработка пользовательского интерфейса
- •12.1. Форма (UserForm)
- •12.1.1. Вставка формы
- •12.1.2. Основные свойства и методы формы
- •12.1.3. События формы
- •12.2. Элементы управления формы vba
- •12.2.1. Некоторые общие свойства элементов управления
- •12.2.2. Соглашения об именах
- •12.2.3. Некоторые общие методы элементов управления
- •12.2.4. Общие события элементов управления
- •12.3. Кнопка (СоmmandButton)
- •12.4. Поле (TextBox)
- •12.5. Надпись (Label)
- •Начальные условия
- •Выполнение задания:
- •12.6. Список (ListBox)
- •12.6.1. Основные свойства элемента управления ListBox
- •12.6.2. Методы ListBox
- •12.6.3. Заполнение списка
- •12.6.4. Пример создания списка
- •12.6.5. Определение выбранных элементов списка
- •12.7. Поле со списком (ComboBox)
- •12.8. Флажок (CheckBox)
- •12.9. Выключатель (ToggleButton)
- •12.10. Переключатель (OptionButton)
- •12.11. Полоса прокрутки (ScrollBar) и счетчик (SpinButton)
- •12.12. Создание нестандартных меню и панелей инструментов
- •12.12.1. Объект CommandBar и семейство CommandBars
- •12.12.2. Методы объекта CommandBar
- •12.12.3. Свойства объекта CommandBar
- •12.12.4. Семейство CommandBarControls и объект CommandBarControl
- •12.12.5. Пример создания/удаления панели инструментов
- •12.12.5.1.Создание панели инструментов
- •12.12.5.2. Удаление панели инструментов
- •12.12.6. Пример создания/удаления меню
- •12.12.6.1. Создание меню
- •12.12.6.2. Удаление меню
- •13. Обработка событий объектов Workbook и Worksheet
- •13.1. События объекта Workbook
- •13.1.1. Событие Open
- •13.1.2. Событие BeforeClose
- •13.1.3. Событие SheetActivate
- •13.2. События объекта Worksheet
- •13.2.1. Событие Activate
- •13.2.2. Событие Deactivate
- •13.2.3. Событие SelectionChange
- •Библиография
М
№ 2206
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС»
Кафедра
автоматизированных систем управления
C.Ю.
Муратова
Макросы
и приложения
Курс
лекций
Рекомендовано
редакционно-издательским
советом
университета
Москва
2012
УДК 681.3 М91
Рецензент канд. техн. наук, доц. А.И. Широков
Муратова, С.Ю.
М91 Макросы и приложения : курс лекций / С.Ю. Муратова. – М. : Изд. Дом МИСиС, 2012. – 156 с.
ISBN 978-5-87623-623-4
Настоящий курс лекций разработан для семестрового модуля «Макросы и приложения» и посвящен разработке приложений на языке визуального программирования Visual Basic for Application в среде MS Excel.
Предназначен для бакалавров направлений 220700, 230100, 230400, 230700 и 231300.
УДК 681.3
I |
|
С.Ю. Муратова, 2012 |
Оглавление
Оглавление 3
Введение 8
1. Объекты MS Excel 9
1.1. Объекты, их свойства и методы 9
1.1.1. Свойства: присвоение и использование значений 9
1.1.2. Примеры использования методов рабочей книги Excel 11
1.2. Ссылки на одиночные объекты и объекты из семейств 13
1.2.1. Различия между одиночными объектами и объектами из семейств 14
1.2.2. Семейства как объекты 15
1.2.3. Ссылка на объект 16
1.3. Иерархия объектов MS Excel 17
1.3.1. Иерархическая структура 17
1.3.2. Доступ к объектам через свойства и методы 21
1.4. Объект Application 22
1.4.1. Свойства объекта Application 22
1.4.2. Методы объекта Application 24
1.5. Объект Workbook и семейство Workbooks 24
1.5.1. Свойства объекта Workbook и семейства Workbooks 24
1.5.2. Методы объекта Workbook и семейства Workbooks 25
1.5.3. Функции, используемые для работы с файлами и папками 26
1.5.4. Функция MsgBox 29
1.5.5. Функция InputBox 34
1.6. Объект Worksheet 35
1.6.1. Свойства объекта Worksheet и семейства Worksheets 35
1.6.2. Методы объекта Worksheet и семейства Worksheets 36
1.7. Объект Range 37
1.7.1. Свойства объекта Range 37
1.7.2. Методы объекта Range 38
2. Использование переменных в VBA 40
2.1. Допустимые имена 40
2.2. Типы данных переменных VBA 40
2.3. Описание переменной 41
2.4. Использование переменных 42
2.5. Преимущества переменных 43
2.6. Объектные переменные 45
2.6.1. Задание объектной переменной 45
2.6.2. Объектные переменные общего типа 45
2.6.3. Объектные переменные конкретных типов 46
2.6.4. Преимущества объектных переменных 47
2.7. Неявное описание переменных и тип Variant 48
2.8. Обязательное описание переменных 50
2.9. Типы данных по умолчанию 52
2.10. Пользовательские типы данных 53
3. Массивы VBA 55
3.1. Размерность массива 55
3.2. Объявление массива 56
3.3. Использование массива 57
3.4. Номер первого элемента и границы массива 60
3.5. Динамические массивы 61
3.6. Сохранение данных в динамическом массиве при изменении последней размерности 63
3.7. Пять функций для работы с массивами 65
4. Константы 68
5. Вызов одной программы из другой 69
5.1. Фрагментирование кода 69
5.2. Передача данных при вызове программы 70
6. Использование функций в VBA 74
7. Область видимости переменных, констант, подпрограмм и функций 76
7.1. Область видимости переменных 76
7.1.1. Переменные уровня процедуры 77
7.1.2. Переменные уровня модуля 78
7.1.3. Переменные уровня проекта 80
7.1.4. Сохраняемые переменные 81
7.1.5. Область видимости подпрограмм и функций 82
7.1.6. Сохраняемые подпрограммы и функции 83
8. Управляющие структуры 85
8.1. Управляющая инструкция If-Then-Else 85
8.2. Управляющая инструкция Select Case 89
8.3. Управляющая инструкция For-Next 92
8.4. Управляющая инструкция For-Each-Next 94
8.4.1. Инструкция For-Each-Next с многомерными массивами 96
8.4.2. Инструкция For-Each-Next с семействами 97
8.5. Управляющая инструкция While-Wend 98
8.6. Управляющая инструкция Do-Loop 100
9. Инструкция With 102
10. Встроенные функции VBA 105
10.1. Математические функции 105
10.2. Функции проверки типов 105
10.3. Функции преобразования форматов 106
10.4. Функции обработки строк 107
10.5. Функции времени и даты 109
11. Обработка ошибок 110
11.1. Предотвращение ошибок программными средствами 110
11.2. Обработка ошибок, инструкция On Error 112
12. Разработка пользовательского интерфейса 115
12.1. Форма (UserForm) 115
12.1.1. Вставка формы 115
12.1.2. Основные свойства и методы формы 116
12.1.3. События формы 117
12.2. Элементы управления формы VBA 118
12.2.1. Некоторые общие свойства элементов управления 118
12.2.2. Соглашения об именах 120
12.2.3. Некоторые общие методы элементов управления 121
12.2.4. Общие события элементов управления 122
12.3. Кнопка (СоmmandButton) 123
12.4. Поле (TextBox) 124
12.5. Надпись (Label) 125
Начальные условия 126
Выполнение задания: 126
12.6. Список (ListBox) 128
12.6.1. Основные свойства элемента управления ListBox 129
12.6.2. Методы ListBox 131
12.6.3. Заполнение списка 132
12.6.4. Пример создания списка 133
12.6.5. Определение выбранных элементов списка 136
12.7. Поле со списком (ComboBox) 137
12.8. Флажок (CheckBox) 139
12.9. Выключатель (ToggleButton) 142
12.10. Переключатель (OptionButton) 142
12.11. Полоса прокрутки (ScrollBar) и счетчик (SpinButton) 143
12.12. Создание нестандартных меню и панелей инструментов 147
12.12.1. Объект CommandBar и семейство CommandBars 147
12.12.2. Методы объекта CommandBar 148
12.12.3. Свойства объекта CommandBar 149
12.12.4. Семейство CommandBarControls и объект CommandBarControl 150
12.12.5. Пример создания/удаления панели инструментов 153
12.12.6. Пример создания/удаления меню 155
13. Обработка событий объектов Workbook и Worksheet 157
13.1. События объекта Workbook 157
13.1.1. Событие Open 157
13.1.2. Событие BeforeClose 158
13.1.3. Событие SheetActivate 158
13.2. События объекта Worksheet 158
13.2.1. Событие Activate 159
13.2.2. Событие Deactivate 160
13.2.3. Событие SelectionChange 160
Библиография 161