Excel Visual Basic для приложений (серия «Без проблем!»): Пер. с англ.— М.: Восточная Книжная Компания, 1996. — 352 с: ил. ISBN 0-7897-0325-4 ISBN 5-89350-020-2 » Книга является учебником по программированию на языке Visual Basic for Applications. В основном она предназначена для пользователей Excel 7.0 для Windows 95, желающих расширить свои возможности при работе с электронными таблицами, но может быть полезна также всем, кто занимается разработкой различных приложений с использованием Visual Basic.
Краткое содержание
Предисловие редактора русского издания...................................15
Введение..................................................................17
ЧАСТЬ I. Приступая к работе
Глава 1. Введение в макросы..................................... .....25
Глава 9. Модульные листы. Макросы и VBA в модульных листах...........37
Глава 3. Совместное использование макрорекордера и редактора VBA... 53
Глава 4. Пишите свои функции рабочего листа...........................65
Глава 5. Даже небольшие знания по программированию
приносят большую пользу.....................................79
ЧАСТЬ II. Программирование в VBA
Глава 6. Справочная информация VBA...................................95
Глава 7. Соединение строк кода VBA...................................111
Глава 8. Процедуры VBA..............................................125
Глава 9. Переменные.................................................139
Глава 10. Способы управления последовательностью
выполнения программ........................................153
Глава 11. Как VBA ссылается на объекты Excel...........................167
Глава 12. Обмен информацией между VBA и рабочими листами...........185
Глава 13. Работа со списками ..........................................195
Глава 14. Редактирование кода. Инструменты отладки в VBA.............209
ЧАСТЬ III. Изменяя «лицо» Excel
Глава 15. Измените меню — программирования не требуется!............223
Глава 16. Использование VBA для работы с вашими меню................237
Глава 17. Панели инструментов.........................................249
Глава 18. Диалоговые окна.............................................265
Глава 1». Использование элементов управления
диалогового окна.............................................277
Содержание
Предисловие редактора русского издания........................... 15
Введение ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦!#
В чем особенность этой книги?................................... 17
Как пользоваться этой книгой?................................... 18
Как организована эта книга..................................... 18
Часть I: Приступая к работе................................... 19
Часть II: Программирование в VBA...............,............... 19
Часть III: Изменяя лицо Excel.................................. 19
Часть IV: Специальные темы................................... 20
Специальные элементы оформления книги........................... 20
ЧАСТЬ I. Приступая к работе
Глава 1» Введение в макросы....................................... 35
Как создаются макросы?....................................... 26
Макрорекордер .............................................. 26
Запись макроса............................................ 26
Использование записанных макросов............................. 28
Опции, доступные при записи макросов............................. 29
Имя и описание макроса...................................... 29
Два быстрых способа запуска макросов........................... 30
Выбор места для хранения макроса.............................. 31
Какой язык следует использовать?.............................. 31
Вы управляете местом действия.................................. 32
Макрос может обрабатывать выделенные ячейки..................... 32
... или обрабатывать одни и те же ячейки каждый раз................ 33
Использование относительных ссылок............................ 34
Какое отношение имеют макросы к программированию и VBA?............ 34
Резюме.................................................... 35
Глава 9. Модульные листы. Макросы и VBA в модульных листах........ 37
Что такое модульный лист?..................................... 37
Создание макросов без макрорекордера............................. 38
Добавление и удаление модулей................................ 39
Ввод макроса в книгу........................................ 39
Запуск макроса............................................ 40
Ввод текста в модули.......................................... 41
Редактор VBA изменяет написание слов........................... 42
Синим цветом выделяются слова, специфические для VBA............. 42
Зеленый цвет — комментарии.................................. 42
Красный цвет — синтаксические ошибки.......................... 43
Длднные строки в VBA....................................... 44
Защита модуля от записи....................................... 44
Скрытие листа............................................. 45
Защита листа..............................................45
Как сделать программы доступными для всех рабочих книг.............45
Личная Рабочая книга Макросов (PERSONAL.XLS)...................45
Сохранение макросов в файле PERSONAL.XLS......................46
Запуск макросов из файла PERSONAL.XLS........................47
Редактирование файла PERSONAL.XLS...........................47
Настройка редактора..........................................48
Параметр автоотступа........................................48
Как обращаться с синтаксическими ошибками......................49
Установка шага табуляции....................................49
Установка шрифта и цвета....................................49
Панель инструментов Visual Basic.................................49
Использование панели Visual Basic в модуле........................50
Использование панели Visual Basic в обычном листе Excel..............50
Резюме....................................................51
Глава 3. Совместное использование макрорекордера и редактора VBA... 53
Используйте редактор VBA для организации своих макросов..............54
Объедините макросы в один или несколько модулей..................54
Удаление макросов..........................................55
Создание макроса, который сворачивает несколько макросов в один.........55
Изменение макросов, записанных макрорекордером....................56
Как мне найти макрос, который я записал?...................'.....57
Поиск макроса с помощью диалогового окна Макрос..................57
Добавление кода в макрос с помощью макрорекордера................58
Уборка после чересчур усердного макрорекордера....................60
Макрорекордер научит вас программировать.........................63
Резюме....................................................63
Глава 4. Пишите свои функции рабочего листа....................... 65
Что такое — определенные пользователем функции рабочего листа?.......66
Создание простой функции....................................66
Испытайте функцию AddUp...................................67
Различные способы доступа к функциям............................68
Как теперь сделать несколько действительно полезных функций?..........69
Введение в переменные.......................................70 f
Некоторые операции........................................71
Построение вашего программного словаря: встроенные функции VBA. ..... 72
Как заставить несколько функций работать вместе.....................74
Резюме....................................................76
Глава 5. Даже небольшие знания по программированию приносят
оольшую пользу. ..¦¦...¦.*........¦¦.««.....«..«..»..«.¦¦..7#
Выполнение действия при соблюдении определенных условий.............80
Проверка: удовлетворяет ли число условию........................81
Другие способы сравнения чисел................................82
Сравнение текстовых переменных...............................83
Проверка нескольких условий: операции And, Or....................84
Как выполнить код, когда условие не выполняется: Else...............84
Написание программ, повторяющих некоторые шаги...................86
Выполнение некоторого кода определенное количество раз.............88
Повторение кода до тех пор, пока выполняется условие...............89
Что такое With, постоянно используемое макрорекордером?..............90
Резюме....................................................92
ЧАСТЬ II. Программирование в VIA
Глава 6. Справочная информация VBA ...............................95
Установлены ли у вас файлы справки по Visual Basic?..................95
Поиск информации в справке по Excel..............................97
Как пользоваться содержанием.................................98
Поиск определенной темы или слова............................100
Разделы Справки содержат связи с дополнительной информацией.......101
Эй, да здесь — целое руководство для пользователя!.................101
Поиск по ключевым словам....................................102
Поиск ключевого слова, когда вы не знаете его название..............102
Как получить информацию о специфическом ключевом слове..........102
Как понять смысл встроенной языковой ссылки....................103
Нужен пример использования чего-либо?...........................105
Найдите примеры кода......................................105
Модифицируйте примеры для использования в своих программах.......106
Я потерялась в море объектов!..................................108
Резюме...................................................109
Глава 7. Соединение строк кода VBA............................... 111
Подача команд посредством операторов............................ 112
Встроенные операторы Excel.................................. 112
Ваши собственные программы тоже могут быть операторами........... 113
Используйте в программах выражения............................ 113
Выражения, вычисляющие значения............................ 114
Выражения, проверяющие на равенство True или False......-,......... 114
Использование возвращаемого функцией значения в качестве выражения ... 115
Конструируйте более длинные выражения с помощью операций.......... 116
Объединение числовых и текстовых выражений ....:............... 117
Создание выражений True/False............................... 117
Используйте знак = для присвоения значений и свойств установок........ 118
Почему некоторые переменные появляются по обе стороны от знака
равенства?............................................... 119
Ошибка несовпадения типов!.................................. 119
Использование функций для присваивания значений................ 121
Для чего нужны блоки и отступы?............................... 121
Резюме................................................... 123
Глава8.Процедуры VBA ¦»«.¦¦.«¦¦««»«¦¦¦..¦¦¦....*.....¦¦¦¦.....« 125
Подпрограммы.............................................125
Какие программы являются макросами?.........................126
Подпрограммы, принимающие значения.........................126
Функции............-......................................128
Возможности функций шире, чем у пользовательских функций рабочего
листа..................................................128
Функции могут иметь или не иметь аргументы.....................129
Как остановить процедуру до того, как она достигнет конца.............130
Как вызвать процедуру из другого кода?...........................131
Функции и подпрограммы используются по разному...................131
Деление программ на несколько небольших процедур................132 —
Значения, передаваемые процедурам............................ 134
Использование встроенных функций Excel в вашем коде..............135
Указание типов данных.......................................135
Какого типа значения должна принимать ваша подпрограмма?.........136
Указывайте, значение какого типа возвращает функция..............137
Резюме...................................................137
I ЛВВа ™. Пш|ЭСМвНКЫ€ ¦.¦•¦¦¦¦*¦.¦¦¦¦¦¦¦¦¦¦.¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ 139
Когда создаются переменные...................................139
Переменные могут создаваться «на ходу».........................140
Объявляйте переменные заранее...............................141
Режим обязательного объявления переменных.....................143
Как указать тип переменной....................................144
Переменные для хранения чисел или дат.........................145
Переменные для хранения значений True и False...................145
Гибкое использование переменных: переменные типа Variant хранят
данные любого типа........................................146
Разные процедуры и модули могут использовать одни и те же переменные. . . 147 Объявление переменных для использования в единственной процедуре.... 148
Переменные для использования в модуле.........................148
Переменные, общие для многих модулей.........................150
Как сделать так, чтобы локальная переменная запоминала свое значение? . . . 150
Резюме...................................................151
Глава 10. Способы управления последовательностью выполнения
программ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦.¦¦¦¦¦¦¦.¦¦¦ 1эз
Принятие решения о выполнении некоторой части кода................ 154
Структура If/Then......................................... 154
Оператор Select Case позволяет выбирать из многих вариантов.......... 157
Существует несколько способов повторения кода..................... 158
For/Next повторяется определенное количество раз. . . .'.............. 159
Количество повторений цикла Do зависит от условий................ 159
Использование циклов при работе с объектами и массивами........... 162
Выход из цикла до его окончания.............................. 163
Одна управляющая структура может использоваться внутри другой........ 164
Резюме................................................... 165
Глава 11, Как VBA ссылается на объекты Excel..................... 167
Словарь объектов............................................167
Объекты в Excel — это то, с чем вы работаете......................168
Свойства — это атрибуты объекта..............................169
Методы оперируют объектами.................................169
Наборы — это группы объектов................................170
Указание объекта, с которым вы будете работать.....................170
Ссылайтесь на объекты, используя последовательность контейнеров......170
Объекты, активные или выбранные в данный момент................171
Выбор объекта из набора . .-..................................172
Другие способы выяснить имя объекта...........................173
Какие действия можно выполнять с объектами?......................174
Изменение свойств.........................................174
Чтение значения свойства....................................176
Использование методов...................................... 176
Работа с целыми наборами...................................179
Почему я получаю сообщение об ошибке, в .котором говорится, что метод
завершен неверно?........................................... 180
Просмотр объектов (The Object Browser)............................ 181
Используйте Просмотр объектов для изучения объектов.............. 181
Используйте Просмотр объектов для поиска процедур................ 182
Вы можете также получать списки констант VBA и других полезных
элементов............................................... 183
Резюме................................................... 183
Глава 12. Обмен информацией между VBA и рабочими листами..... 185
Как сообщить VBA, с какими ячейками я хочу работать?...............185
Ссылка на одиночную ячейку.................................186
Ссылка на несколько ячеек...................................188
Строки и столбцы.........................................190
Ячейки и диапазоны с именами................................191
Ссылка на положение диапазона относительно текущего выбора..........192
Что можно делать с ячейками, кроме изменения значений?.............193
Резюме...................................................194
Глава 13. Работа со списками ************************************* ¦™я
Что такое массив?........................................... 195
Определение простого массива................................. 196
Присваивание значений элементам массива....................... 197
Ссылка на элемент массива................................... 198
Циклы и массивы прекрасно работают вместе...................... 199
Что, если я не знаю размера моего массива заранее?................... 200
Динамический массив не имеет фиксированного размера.............. 200
Как можно изменить размер массива после того, как он установлен?..... 201
Многомерные массивы........................................ 203
Создание многомерного массива............................... 204
Использование массивов для работы с диапазонами................. 204
Изменение размера многомерных массивов........................ 205
Резюме................................................... 206
Глава 14. Редактирование кода. Инструменты отладки в VBA......... 909
Знакомство с Окном отладки................................... 210
Панель Проверка (Immediate)................................... 211
Ввод команд в панель Проверка............................... 211
Вы можете изменять среду Excel из панели Проверка................ 212
Отображение значений...................................... 212
Проверяйте свой код построчно.................................. 214
Использование панели Проверка при пошаговом выполнении кода....... 215
Используйте команду Перешагнуть (Step Over), когда знаете, что
процедура работает......................................... 216
Наблюдение за отдельным значением............................. 216
Задержитесь здесь! Приостановка выполнения процедуры............... 218
Установка точек прерывания................................. 219
Используйте команду Stop................................... 219
Резюме................................................... 220
-U4VID iii. изменяя «лицо» Excel
Глава 15. Измените меню — программирования не требуется! ...... 993
Редактор меню.............................................223
Некоторые советы до того, как вы измените меню..................224
Где сохраняются изменения?..................................225
Мне необходимо добавить элемент к существующему меню..............226
Разделительные строки......................................228
Каскадное меню...........................................228
Ускоряющие клавиши.....................'.................230
Заставьте элемент меню что-нибудь делать........................230
Создание нового меню........................................231
Удаление и скрытие меню и элементов меню........................233
Удаление ваших собственных меню и элементов....................233
Как скрыть встроенные меню Excel.............................233
Помогите! Мне нужно вернуть мои первоначальные меню.............234
Резюме...................................................235
Глава 16. Использование VBA для работы с вашими меню........... 237
Что такого мне может дать VBA, чего не дает Редактор меню?...........237
Как VBA ссылается на меню и их содержимое?......................238
Добавление и удаление меню и их содержимого......................239
Добавление и удаление меню..................................240
Добавление и удаление элементов меню..........................242
Как заставить элемент меню что-либо выполнять...................242
Изменение вида элементов меню.................................243
Свойство Enabled..........................................243
Галочки................................................244
Когда и сколько раз мне изменять меню?..........................245
Переустановка строки меню..................................245
Как сделать изменения меню специфическими для единственной
рабочей книги............................................246
Резюме...................................................247
Глава 17.Панели инструментов.................................... 349
Где сохраняются изменения панелей инструментов?...................250
Работа с существующими панелями инструментов....................250
Ссылка на панель инструментов...............................251
Отображение и скрытие панелей инструментов.....................252
Позиционирование и изменение размеров панелей инструментов........252
Воздействие на все панели инструментов.........................255
Работа с кнопками панелей инструментов..........................255
Настройка панелей инструментов без программирования..............256
Добавление кнопок с помощью VBA............................257
Запуск макросов кнопками панели инструментов...................259
Удаление кнопок с панели инструментов.........................260
Создавайте пользовательскую панель инструментов...................260
Закрепляйте панели инструментов за рабочей книгой................262
Удаление пользовательских панелей инструментов..................262
Восстановление встроенных панелей инструментов Excel................263 J
Резюме........................,..........................264 j
Глава 18» Диалоговые окна ....................................... 265
Окна сообщений............................................ 266
MsgBox как оператор позволяет отображать информацию............. 266
Какие опции имеются для MsgBox?............................. 267
Вы можете использовать функцию MsgBox, чтобы задавать
пользователю вопросы...................................... 269
Окна ввода................................................ 273
Мои запросы слишком длинны, чтобы поместиться на одной строке........ 274
Отображение обычных диалоговых окон Excel в особых ситуациях........ 275
Резюме................................................... 275
Глава 19. Использование элементов управления диалогового окна.... 977
Установка элементов управления в рабочий лист..................... 277
Выделение, перемещение, изменение размеров и удаление элементов
управления.............................................. 279
Имя и заголовок элемента управления........................... 280
Настройка элементов управления.............................. 280
Типы элементов управления.................................... 281
Командные кнопки........................................ 282
Флажки................................................ 283
Переключатели........................................... 284
Представление информации в виде списка........................ 285
Полосы прокрутки и счетчики................................ 286
Когда элемент будет выделен, что мне делать дальше?................. 287
Запуск кода при использовании элемента управления.................. 288
Защита листа.............................................. 289
Резюме................................................... 290
ЧАСТЬ IV. Специальные темы
Глава 30. Создание и использование диалоговых окон.............. 995
Знакомство с диалоговыми листами.............................. 296
Изменение бланка диалогового окна............................ 297
Работа с элементами управления в диалоговых листах............... 298
Как указать элемент управления?.............................. 301
Отображение диалоговых окон.................................. 302
... когда выделен элемент меню или нажата кнопка................. 303
... когда пользователь запускает Excel........................... 303
Не забывайте инициализировать диалоговое окно................... 304
Использование элементов управления с VBA........................ 305
Пример использования флажков............................... 305
Пример использования полей редактирования..................... 306
Резюме................................................... 308
Глава 91. Объедините свою программу с Excel...................... 309
Что такое надстройка......................................... 310
Зачем мне может понадобиться создать надстройку?................. 311
Создание простой надстройки................................. 311
Установка существующей надстройки........................... 313
Удаление надстройки....................................... 314
Изменение надстроек....................................... 315
Использование кода VBA для работы с надстройками.................. 315
Ссылка на определенную надстройку............................ 315
Добавление надстроек к Excel с использованием VBA ..................316
Резюме...................................................317
Глава 22. Автоматический запуск кода............................. 319
Автоматическое открытие рабочей книги...........................320
Процедуры, выполняющиеся, когда открывается
или закрывается рабочая книга.................................320
Процедуры, которые запускаются, когда происходит некоторое событие.....322
Как сделать, чтобы Excel ожидал какое-либо событие................323
Как можно отключить обнаружение событий?.....................327
Резюме...................................................328
Глава 23. Разработка дружественного интерфейса.................339
Защита исходного кода....................................... 330
Полностью скрытые листы................................... 330
Могу я сделать так, чтобы казалось, что Excel отсутствует?............ 331 ,,
Берегите свои программы от разрушения........................... 331 '
Что такое «ошибка времени исполнения»?........................ 331
Не все ошибки могут быть предотвращены........................ 333
Перехват ошибок.......................................... 333
Резюме................................................... 338
сртветы на вопросы ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦•¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ т Справочный указатель» ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ 349 >
Среда Excel и VBA...........................................349
Макросы..................................................349
Функции и процедуры........................................349
Объекты, свойства и методы...................................350
Меню, панели инструментов и диалоговые окна .....................350
Сообщения об ошибках.......................................351
Предисловие редактора русского издания
Книга Элизабет Бунин Excel Visual Basic посвящена одной из наиболее интересных и перспективных систем разработки приложений для Windows, входящей в состав самой мощной программы электронных таблиц. Несмотря на все многообразие средств, которые получают пользователи, приобретая Excel, рано или поздно даже самые неискушенные из них начинают понимать, что им чего-то не хватает. Появляются задачи, которые хочется перепоручить компьютеру, знать бы только, как.
С этого начинается знакомство с макросами и макрорекодером, которое на какое-то время снимает часть проблем. По мере накопления пользователем опыта появляются вещи, которыми хотят пользоваться другие. Возникают вопросы защиты информации, легкости понимания работы программных продуктов, интерфейса, контроля возникающих ошибок (!) и т.д. Так появляется необходимость сначала править созданные рекодером макросы, а затем писать программы вручную с использованием все большего количества возможностей VBA. Наконец, вершиной программирования становятся приложения, в которых Excel используется как простой и скрытый вычислитель и хранилище данных, а работающий с этими приложениями пользователь вообще ничего не слышал об электронных таблицах. Ему, например, просто нужно быстро создать годовой финансовый отчет небольшой фирмы, данные для которого ежемесячно поступали по компьютерной сети из различных филиалов.
Так постепенно, шаг за шагом, автор книги намечает проблемы и раскрывает секреты их решения. Стиль диалога, несложные примеры, стремление не перегружать изложение не всем известными терминами (которые, впрочем, все равно приходится вводить), все это создает впечатление, что книга предназначена для не очень подготовленных пользователей. Действительно, иногда кажется, что объяснению несложного кода уделяется слишком много внимания. Здесь, видимо, более продвинутый пользователь (есть теперь и такой термин) может просто пропустить текст под. пометкой «Код», отдавая дань уважения составителю такого понятного кода. Следует отметить, что и по мере усложнения материала автор не изменила принципу написания коротких программ.
В книге охвачены практически все вопросы программирования на VBA. Дополнить ее можно было бы разве что справочной системой. К сожалению, этого нельзя сделать с помощью справочной системы локализованной версии Excel. По непонятным причинам она является далеко не полной.
'Книга не является справочником. Это — учебник. Очень удобный.


Hosted by uCoz