Банда Братьев Бум - Форум
  Главная
  Контакт
  Гостевая книга
  Галерея
  Форум
  О нас
  Радио
  Чат
  Наша музыка
=> Еще не зарегистрирован?

Форум - VBA Для чайников

Ты находишься здесь:
Форум => Железо => VBA Для чайников

<-Назад

 1 

Вперед->


Монстр (Гость)
19.09.2008 05:12 (UTC)[цитировать]
by Steve Cummings
Hungry Minds™
HUNGRY MINDS, INC.
Best-Selling • Digital Downloads • • Answer Networks • • Branded Web Sites •
New York, NY Cleveland, Indianapolis, IN

Стив Каммингс


ДИАЛЕКТИКА


Москва • Санкт-Петербург • Киев


2002



ББК 32.973.26-018.2.75
К18
УДК 681.3.07
Компьютерное издательство
Зав. редакцией В. Александров
Перевод с английского и редакция КБ.
По общим вопросам обращайтесь в издательство "Диалектика'
по адресу: info@dialektika.com, http://www.dialektika.com
Стив.
VBA для "чайников", 3-е издание. : Пер. с англ. — М. : Издательский дом
— 448 с. : ил. — тит. англ.
ISBN 5-8459-0230-4 (рус.)
Эта книга поможет освоить интегрированную среду разработки VBA и научиться
программировать в VBA с использованием объектов, их свойств, методов и событий.
Обсуждаемые приемы программирования иллюстрируются примерами, которые можно
сразу же опробовать на практике. Полученные знания вы сможете применить как для
настройки и усовершенствования популярных офисных приложений, включая приложе-
ния Office так и для создания собственных приложений.
Книга рассчитана на тех, кто собирается быстро и без лишних усилий научиться
программировать для Windows, используя VBA.
ББК
названия программных являются зарегистрированными марками соответст-
вующих фирм.
Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то нн
было форме и какими бы то ни было будь то электронные или механические, включая фото-
копирование и запись на магнитный носитель, если на это письменного издательства
Hungry Minds, Inc.
Copyright © 2002 by Computer Publishing.
Original linglish edition copyright by Minds. Inc.
All rights reserved including the right of reproduction in whole or part in any form.
This edition published by arrangement the original publisher. Hungry Minds.
For Dummies and Dummies Man are trademarks under exclusive license to Hungry inc. Used by
5-8459-0230-4 (рус.) Компьютерное издательство "Диалектика". 2002
0-7645-0856-3 (англ.) Hungry Minds. 2001

Оглавление
Введение 18
ЧАСТ Ь I. НАЧАЛЬНЫ Е СВЕДЕНИ Я О VB A 23
Глава Уважайте теорию, теория это все! 25
Глава 2. Не пишите программу, когда можно записать макрос 41
Глава 3. Основы программирования в VBA 50
Глава 4. Выполнение VBA-программ 71
Глава 5. Редактор Visual Basic к вашим услугам 86
ЧАСТЬ II. КУР С ПРОГРАММИРОВАНИ Я VB A 113
Глава 6. Анатомия выдающейся VBA-программы
Глава 7. Хранение и обработка информации
Глава 8. Управление потоком
Глава 9. программный код: отладка и устранение ошибок 185
Глава 10. Создание VBA-форм 209
ЧАСТ Ь ПРАКТИКУЕМС Я В ПРОГРАММИРОВАНИ И
Н А VB A 25 3
Глава Инструменты встроенного оркестра VBA 255
Глава Объектно-ориентированное программирование 283
Глава Тонкости хранения данных: массивы и коллекции 303
ЧАСТЬ IV. ПРОФЕССИОНАЛЬНА Я РАБОТА С VB A 321
Глава 14. для Office 323
Глава Программирование на VBA в Word 333
Глава VBA-программирование в Excel 350
Глава Программирование баз данных 364
Глава Работа с файлами на диске 386
Глава Еще о VBA-формах 390
ЧАСТЬ V . ВЕЛИКОЛЕПНЫ Е ДЕСЯТК И 40 7
Глава 20. Десятка (без трех эффектных решений с помощью VBA 409
Глава Три десятка ресурсов VBA 427
Предметный указатель 433

Содержание
Об авторе
Посвящение 17
Благодарности 17
Введение
эта книга 18
Не следовало бы делать предположений... 18
Разделяй и властвуй 19
Часть I, "Начальные сведения о
Часть программирования 19
Часть "Практикуемся в программировании 20
Часть работа с 20
Часть V. "Великолепные десятки" 20
Как использовать примеры 20
Пиктограммы, используемые в данной книге 21
для "чайников" 22
ЧАСТЬ I. НАЧАЛЬНЫЕ СВЕДЕНИЯ О VBA 23
Глава Уважайт е теорию , теори я - эт о все ! 2 5
Зачем мучиться с VBA? 25
VBA - это штурвал, но к нему нужен еще и корабль 26
третьих фирм 27
О распространенности 27
Программирование на VBA 28
Что визуального в Visual Basic для приложений? 28
Главные события 29
Цикл создания программы 29
Подробнее о том, что можно сделать в VBA 30
Настройка пользовательского интерфейса 30
Добавление новых возможностей 31
Создание более сложных программ 32
Совсем не тот BASIC 33
Интегрированная среда разработки приложений VBA 34
Макросы и VBA 35
Элементы управления ActiveX и другие 35
Объектно-ориентированное программирование и VBA 37
VBA как стандарт (точнее, род стандарта 38
38
Другие VBA 39
VBA против Visual Basic 39
Глава 2. пишите программу, когда можно записать макрос 41
Как работают макросы 41
Когда следует записывать макрос 42
Макрос - и вещь хорошая, и развитие стимулирует 42
Планирование макросов 42
Запись макросов 43
Запуск средства записи макросов 43
Содержание

Как выбрать имя для малютки 43
Другие опции диалогового окна Запись макроса 44
Кнопка, кнопка, ты чья? 44
Начало записи 45
Запись команд 45
Паузы во время записи и ее завершение 45
Выполнение макросов 46
Редактирование макросов как способ создания программного кода 47
Редактирование программного кода макроса в редакторе Visual Basic 47
Простейшие усовершенствования макросов 48
Глава 3. Основы программирования на VBA 50
Вызов редактора Visual Basic 50
Вызов редактора Visual Basic одним щелчком 50
Краткое знакомство с редактором Visual Basic 51
На помощь! 53
Скорая помощь VBA 53
Вызов справки VBA-приложения 54
Поиск в стоге справок 54
Контекстно-зависимая справка 55
Что особенного в разделах справки VBA 56
Установка всех файлов справки 57
Создание 58
1-й шаг. Проектирование мера 58
2-й шаг. Реализация проекта 59
3-й Тестирование программы 67
4-й шаг. Отладка 69
Вызов формы из VBA-приложения 69
Возвращение в 70
Глава 4. Выполнение 71
Все определяется именем 71
Запуск из диалогового окна Макрос 72
Вызов диалогового окна Макрос 72
Выполнение макроса 73
Поиск макроса в диалоговом окне Макрос 73
Быстрый запуск программ 74
Кнопки запуска программ 75
Комбинации клавиш в Word, Excel и Access 80
Макросы для мыши Visio 83
Автоматический запуск VBA-программ 83
Глава 5. Редактор Visual Basic к вашим услугам 86
Пользовательский интерфейс редактора Visual Basic 86
Легкий завтрак с меню 87
Прогулка по панелям инструментов 87
Настройка панелей инструментов и меню 88
Комбинации клавиш 91
Управление окнами 93
Одни окна любят одиночество, другие - всегда в компании 93
Видимые и скрытые окна 93
Закрепленные и свободно перемещаемые окна 94
Сохранение структуры экрана 95
Содержание 7

Управление проектами с помощью проводника 96
Вызов проводника проектов 96
Исследование проводника проектов 96
Установка свойств проекта 98
Использование обозревателя объектов
Вызов обозревателя объектов
Просмотр объектов
Поиск членов
Использование информации из окна обозревателя объектов в программном коде
Секреты кодирования
Вызов окна программного кода
Создание нового окна программного кода
Печатание программного кода
Созидательные возможности окна программного кода
Использование окна свойств
Вызов окна свойств
Изменение имени проекта или модуля в окне свойств
Краткое знакомство с окнами для отладки
ЧАСТЬ II. КУРС ПРОГРАММИРОВАНИЯ VBA 113
Глава 6. Анатомия выдающейся
Строительные блоки программы
Определение программы
Пример программы
VBA
Откуда берутся проекты, мама?
Все о модулях
Планирование модулей
Добавление нового модуля в VBA-проект
Что к чему в новом модуле
Стандартные модули и модули с классом
Создание процедур
Каркас процедуры
Создание новой процедуры
Процедуры типа Sub
Процедуры типа Function
Привлекательные аргументы
Организация процедур
Обзор области видимости
Задание области видимости процедуры
Использование локальных процедур
Использование операторов
Объявления
Операторы присваивания
Выполняемые операторы
Параметры компилятора 130
Выбор имен • 131
Соглашения об именах в VBA
Сделайте программный код красивым
Отступы в программе
Правила для отступов
Содержание

Свободное пространство - это хорошо 135
Не пользуйтесь прокруткой без необходимости! 135
Замечания о комментариях
Как создавать комментарии 137
Когда использовать комментарии 138
Пространные комментарии 138
Убежище для комментариев
Глава 7. Хранение и обработка информации
Работа с переменными 140
Объявление переменных 141
Где объявлять переменные 141
Когда объявлять переменные 142
Выбор и использование типов данных
Задание области видимости переменной 145
Объявление нескольких переменных в одной строке
Размещение информации в переменных 147
Выражен-и-я 148
Работа с постоянными значениями 149
Объявление констант 149
Плоды использования констант
Использование констант для атрибутов
Знаки операций 151
Получение приоритета 151
Вычисления с помощью арифметических операторов
Сравнение значений
Объединение текста
Дополнительные сведения о типах данных
Преобразование типов данных
Тип Variant
Выбор числового типа данных
Когда использовать логические переменные
Работа с денежными значениями
Работа с датами 160
Информацию - в строку 161
Кавычки в объявлениях строк
Строки фиксированной длины 163
Глава 8. Управление потоком
Укрощение диких программ с помощью управляющих структур
Анатомия управляющих структур
Вложенные управляющие структуры 165
Используйте отступы!
Курс на использование условных выражений 166
Как работает условное выражение
Условные выражения без операторов сравнения
Использование логических операций в условиях
Условные операторы 168
Основная форма
Однострочные операторы 169
Операторы 169
Использование операторов 169
Использование операторов Select Case 172
Содержание 9

Проверка условий в операторах Select Case 172
Пример оператора Select Case
Оператор Case 173
Дополнительные сведения об операторе Case 174
Повторение с помощью циклов 174
Циклы Do 175
Повторение под управлением циклов
Управление потоком с помощью Go
Пример использования Go То
Оправдания То 184
Глава 9. программный код: отладка и устранение ошибок
Все возможные неприятности происходят обязательно
Исправление синтаксических ошибок
Энтомология для программистов
Тест, тест, тест
Комбинации клавиш для отладки
Сделайте паузу!
Сквозь программу по шагам
Основные приемы отладки
Автоматические подсказки
Немедленное вознаграждение в окне Immediate
Все переменные под присмотром в окне Locals
Механика процесса 198
Зачем редактировать значения переменных
Как редактировать значения переменных
Ключевое средство отладки: окно Watches 200
Добавление контролируемых выражений 201
Работа с окном Add Watch
Редактирование контролируемых выражений 202
Использование контролируемых выражений для назначения точек останова 203
Отлов ошибок с помощью Error и Err 204
Откуда берутся ошибки выполнения 204
Как работает программный обработчик ошибок 204
Как создать обработчик ошибок 204
Глава Создание интерактивных VBA-форм 209
Основы проектирования форм 209
Запуск форм 209
Формы и элементы управления программируемые объекты
Планирование форм для программы 210
Печать форм в процессе проектирования
Дизайн новой формы
Работа со свойствами форм и элементов управления
Ключевые свойства форм 216
Форматирование элементов управления 221
Использование панели инструментов 222
Элементы управления, ведите себя хорошо! 225
Использование свойств Enabled и Locked 226
Настройка порядка перехода по нажатию клавиши табуляции 226
Назначение быстрых клавиш 227
Отправка сообщений с надписями 228
Сбор информации с помощью текстовых полей 230
10 Содержание

Использование кнопок 231
Использование рамок 233
Выбор элемента с помощью переключателя 234
Выбор параметров с помощью флажков и кнопок с фиксацией 235
Выбор параметров из списка и комбинированных окон 237
Программирование форм 238
Покажите то, что 239
Загрузка и отображение форм 239
Главные события 242
Щелкните здесь,.. 245
Создание программного кода для события Change 248
Распознавание нажатий клавиш 248
Основные приемы программирования форм 249
Клавишная альтернатива 250
Проверка правильности вводимых данных 250
ЧАСТЬ ПРАКТИКУЕМСЯ В ПРОГРАММИРОВАНИИ
НА VBA 253
Глава Инструменты встроенного оркестра VBA 255
Знакомство со встроенными командами 255
Форматирование данных 256
Работа с функцией Format 257
Использование встроенных форматов для функции Format 257
Создание собственных форматов 258
Использование функции 259
Работа с другими функциями форматирования 260
Конвертирование данных 260
Работа с и восьмеричными значениями 261
Преобразование чисел в строки и наоборот 261
Работа со строками 262
Отбрасывание символов в конце строк с помощью и Left 264
Извлечение символов из строк 265
Работа с датами и временем 265
Дата со временем 267
Исчисление дат 267
Простые контакты с внешним миром 270
Отображение окон сообщений 270
Получение информации от пользователя 273
Работа с логическими значениями 274
Забавы с математикой и деньгами 274
Математические функции 274
функции 277
Другие встроенные команды 279
Глава Объектно-ориентированное программирование 283
Что такое объект 283
Объекты как компоненты 283
Объекты на уровне понятий 284
Практическое определение объекта 285
Классы объектов и конкретные объекты
Содержание

Коллекции объектов 286
Что такое объектная модель 286
Понимание еажнхти объектной модели 287
Расширение объектной модели 287
Формы в VBA - это тоже объекты 287
Использование объектов в программе 288
Основные правила программирования объектов 288
Использование объектных моделей 289
Выяснение и установка свойств объектов 289
Что нельзя делать с некоторыми свойствами 290
Установки свойств - это данные 290
Выяснение текущего значения свойства 291
Изменение значения свойства 291
Свойства, выбираемые по умолчанию 292
Объекты в роли свойств 292
Вверх по родовому дереву 292
Методы в действии 292
События 293
Идентификация объекта для использования 294
Понимание объектных выражений 294
Создание переменных для объектов 296
Создание новых объектов 298
Использование оператора Is 299
Эффективная работа с объектами в программе 300
Использование оператора With 300
Использование структуры For 301
Глава Тонкости хранения данных: массивы и коллекции 303
Знакомство с массивами 303
Ссылка на элемент массива 304
Данные массива 304
Использование многомерных массивов 304
Объявление массивов 305
Обращение к элементам массива 308
Заполнение массива данными... навалом 309
Копирование одного массива в другой 313
Управление наборами данных с помощью объектов Collection
Оценка преимуществ использования коллекций 313
Создание объектов Collection 314
Добавление данных в коллекцию 314
Удаление элементов
Подсчеты в коллекциях 316
Доступ коллекций 316
Использование коллекций с базами данных 317
Определение своих собственных типов данных 317
Знакомство с пользовательскими типами данных
Объявление пользовательского типа данных 318
Объявление переменных пользовательского типа 319
Обработка информации, представленной пользовательским типом данных 319
Работа с переменными пользовательского типа данных 320
12 Содержание

ЧАСТЬ IV. ПРОФЕССИОНАЛЬНАЯ РАБОТА С VBA 321
Глава для Office 323
Контроль над панелями инструментов и меню 323
Отображение и размещение панелей инструментов 323
Настройка кнопок панелей инструментов 324
Программирование Помощника Office 327
Контроль над Помощником 327
Программирование окна Помощника 327
Сохранение значений переменных на диске 330
Сохранение и получение значений переменных в Excel, PowerPoint и Project 331
Другие способы сохранения значений переменных 332
Глава Программирование на VBA в Word 333
Знакомство с объектом Application 333
Доступ к документам Word с помощью VBA 334
Работа с активным документом 334
Указание конкретного документа 334
Создание, открытие, активизация и закрытие документов 334
Работа с разделами документов 335
Открытие окон с помощью VBA 335
Обращение к окнам из программного кода 336
Работа с областями окон 336
Изменение внешнего вида окна 336
Использование объекта View 337
Масштабирование документа с помощью программного кода 337
Использование объекта Selection 338
Знакомство с объектами Range 339
Использование свойства Range 339
Определение диапазонов с помощью метода Range 340
Работа с текстом в Word VBA 341
Выделение диапазонов и создание диапазонов на основе выделенных областей 342
Повторное определение диапазонов и выделенных областей 342
Удаление, копирование и вставка текста 344
Вставка нового текста 345
Форматирование текста 345
Поиск и замена текста с помощью VBA в Word 346
Работа с найденным текстом 346
Замена текста или форматирования 347
Поиск и замена форматирования 348
Использование переменных документа 348
Глава в Excel 350
Знакомство с объектной моделью Excel 350
Использование в коде объектов Range для работы с ячейками 351
Определение объекта Range 351
Использование свойств Cells для определения диапазона 352
Выполнение совместных действий с ячейками 353
Работа с отдельными ячейками диапазона 354
Работа с выделениями 354
Программирование пользовательских функций 356
Написание пользовательских функций рабочего листа 357
Содержание 13

Запуск пользовательских функций 357
Тестирование пользовательских функций 358
Профессиональное написание функций 359
Использование в коде встроенных функций 359
Программирование событий Excel 359
Выбор правильного объекта 360
Испозование процедур событий 360
Реагирование на изменения в рабочем листе 361
Программирование динамических диаграмм 362
Глава 17. Программирование данных 364
Программирование баз данных на VBA: основные термины 364
О ядре баз данных 364
SQL и VBA 365
Все об объектах баз данных 365
Несколько связанных технологий баз данных 366
Программирование баз данных: доступные варианты выбора 367
Возможные варианты разработки баз данных 367
Программирование баз данных с помощью Access
Написание кода базы данных с помощью ADO 369
Обработка ошибок 369
Добавление ссылки на ADO 369
Установка соединения 369
Работа с объектами Recordset 371
Использование объекта Command 377
Работа с SQL 379
Как избежать SQL 379
Знакомство с диалектами SQL
Вставка инструкций SQL в VBA-код
Написание инструкций SELECT 380
Выполнение групповых обновлений и удалений в SQL 385
Глава 18. Работа с файлами на диске
Номер- это ключ 386
Выбора режима доступа к файлу 387
Не идите на поводу у номеров 387
Закрытие открытых файлов 388
Чтение и запись данных 388
Глава Еще о VBA-формах 390
О внешнем виде форм и элементов управления 390
Выбор цветов 390
Выбор шрифтов 391
Простые фокусы с мышью 392
Добавление изображений 393
Удаление рисунков с помощью окна свойств 395
Другие возможности форматирования 395
Дополнительно о работе с элементами управления 396
Советы об использовании текстовых полей 396
Создание форм с несколькими вкладками 398
Совет о кнопках выбора 400
Флажки 401
Выбор значений с помощью полос прокрутки и кнопок со стрелками 401
Содержание

Дополнительно о программировании форм 403
Использование переменных для ссылок на формы 403
Распознавание нажатий клавиш 404
Дополнительные приемы проверки 404
ЧАСТЬ V. ВЕЛИКОЛЕПНЫЕ ДЕСЯТКИ 407
Глава 20. Десятка (без трех эффектных решений с помощью VBA 409
Сохранение информации в реестре Windows 409
Доступ к объектам других приложений
Основы межпрограммного взаимодействия
Добавление ссылки на внешнюю объектную модель
Объявление внешних объектов
Создание внешнего объекта
Использование внешних объектов
Управление базами данных с помощью VBA
Работа с файлами 413
Принципы работы с файлами в VBA 414
Ссылки на библиотеку Microsoft Scripting Runtime 414
Доступ к файлам 415
Работа со свойствами файлов
Копирование, изменение и удаление файлов
Чтение и запись данных
Использование объектов Dictionary 419
Базисные сведения об объектах Dictionary 420
Лучше, чем коллекции 420
Пользовательские объекты 420
Создание модулей классов 421
Компоненты определений класса 421
Использование своих собственных объектов 423
Использование элементов управления ActiveX 424
Добавление новых элементов в панель элементов управления 424
Использование элементов управления ActiveX в программах 426
Глава Три десятка ресурсов VBA 427
Первая справочная инстанция 427
Возьмите готовый программный код 427
Ознакомьтесь с предложениями Microsoft 427
Журналы и газеты 428
Web-страницы, VBA 428
Галактика элементов управления ActiveX 429
Мания усовершенствования 429
Изобразительное искусство 429
Диаграммы и графики 430
Текстовые документы и электронные таблицы 430
Бери деньги, и 431
Разработка элементов управления 431
Разное 431
Вычислительная мощь 431
Помогите, помогите! 432
Предметный указатель 433
Содержание

Стив Кяммингс занимается программированием больше 20 лет, используя такие разные
языки программирования, как ассемблер, COBOL и C++, а также VBA и Visual Basic. Он автор
и соавтор более десятка компьютерных книг, среди которых и книга Секреты Office 97,
выпушенная издательством "Диалектика". Кроме того, ему принадлежат сотни статей, опубликованных
в известных компьютерных журналах, в том числе PC World, Macworld, PC
Magazine, PC/Computing и PC Week.


Моей бабушке по поводу 97-летия
Спасибо всем сотрудникам издательства Hungry Minds, а особенно моим редакторам:
Джеймсу Расселу (James Russel), который проявил немало внимания и терпения при работе
над настоящей книгой, а также Джейд (Jade Williams) и Кэлли Оливер (Kelly Oliver).
Я благодарен компании (www. com) за предоставление таких про-
граммных продуктов, как System Commander и Partition Commander. Это замечательные ути-
литы для настройки работы нескольких операционных систем на одном компьютере, что мне
требовалось при работе с beta-версиями Microsoft Office Также спасибо Лизе Роббинс
(Lisa из компании Waggener подразделения компании Microsoft, за помошь
при знакомстве с нюансами новой версии VBA, а также за предоставление пробных версий
программных продуктов компании Microsoft, необходимых мне при работе.

Введение
Да, это именно та книга, которая необходима для того, чтобы начать освоение VBA
(аббревиатура от Visual Basic for Applications, что означает Visual Basic для приложений.
Благодаря этой книге вы узнаете об основных принципах программирования в VBA и полу-
чите необходимые навыки для создания полезных программ. А самое главное, вы сможете
сделать это без лишних усилий.
В книге использовано много примеров, написана она легко и понятно, поскольку, кто зна-
ет, сколько скучных томов уже издано в этом мире! Я попытался изложить все самым обыч-
ным языком, по возможности исключив из употребления режущий ухо нормального человека
специальный жаргон. И с этого момента я начинаю отпускать (иногда не самые лучшие шу-
точки, чтобы вам было на что направить свое раздражение.
С другой стороны, обсуждение рассматриваемых вопросов не слишком упрощено, иначе
оно было бы лишено всякой ценности. Если отбросить шутки в сторону, то эта пол-
ноценное справочное пособие, охватывающее все основные разделы VBA.
О чем книга
Вы, наверное, уже знаете, что VBA — это язык программирования, встроенный во множест-
во программ, от приложений Microsoft Office, Microsoft Project, Visio и AutoCAD до многочис-
ленных специализированных приложений, предназначенных для управления производственны-
ми процессами, учета финансовых ресурсов или информационной поддержки клиентов.
В этой книге рассмотрены все существенные аспекты программирования в VBA. Здесь вы
найдете достаточно полную информацию по следующим темам:
использование преимуществ визуальных средств программирования VBA;
запись и редактирование макросов;
запуск VBA-программ из других приложений;
- создание приятных на вид диалоговых окон и других элементов интерфейса;
'i работа с объектами, которая станет ключом к использованию всей силы VBA-
приложений.
В настоящей главе рассмотрены версии VBA с версии 6 по 6.3 входит в состав
приложений Microsoft Office ХР. Согласно данным компании Microsoft, все версии VBA, начи-
ная с версии и заканчивая версией с точки зрения программиста совершенно идентичны.
Компания Microsoft исправила некоторые ошибки, улучшила производительность, но способы
написания программного кода или создания диалоговых окон не изменились. Поэтому, когда
я говорю о VBA б, это касается как VBA 6.0 и VBA так и всех промежуточных версий.
Не следовало
Но я все же сделаю. Я предполагаю, что вы не такой уж и "чайник", наоборот, думаю, вы
должны весьма комфортабельно чувствовать себя в Windows. Поэтому, если вы не знаете, как
обращаться с мышью, выбирать из меню и щелкать на кнопках, появляющихся на экране ва-
Введение

шего монитора, вам имеет смысл предварительно прочитать одну из книг, выпущенных изда-
тельством "Диалектика", например Windows для (есть также отдельные издания по
Windows 95, Windows 98, Windows Me и Windows 2000). Далее, чтобы использовать вы
должны иметь по крайней мере одно приложение, в которое встроены средства разработки
VBA-программ. Среди таких приложений прежде всего следует назвать лидера рынка про-
грамм для бизнеса Microsoft Office, за которым следует постоянно растущая группа продук-
тов, принадлежащих другим производителям. Изо всех многочисленных возможностей по-
дойдет, например, любое из следующих приложений:
любое приложение Microsoft Office — Word, Excel, PowerPoint, Access, Outlook или
FrontPage;
Microsoft Project;
CorelDraw версии 9 или 10 и Corel WordPerfect Office 2000;
серия графических бизнес-приложений iGrafx от Micrografx;
версий 4.5, 5 или 2000;
AutoCAD R14, AutoCAD 2000 или AutoCAD 2000i для Windows;
Autodesk Map;
TurboCAD Professional;
M.Y.O.B. Accounting Software;
пакет программ для учета ресурсов Great Plains (некоторые программы из этого паке-
та понимают VBA);
Omni Trader, средства оценки рисков и управления торговыми операциями.
и
Теоретические знания и навыки, которые требуются для программирования в VBA, обра-
зуют нечто целое, органический симбиоз взаимосвязей, подобный самой жизни... Именно по
этой причине мне пришлось разбить предлагаемый материал на пять больших частей, каждая
из которых содержит как минимум две главы.
Часть I. сведения о
Начинает книгу только одна унылая глава, посвященная теоретическим вопросам, за-
то следующие три шустренькие главы разбудят вас и заставят бежать вместе с VBA. Вы
научитесь записывать макросы, чтобы не обращаться к программированию там, где это
можно и оправданно, запускать свои из других приложений. Вам даже
предстоит по ходу дела создать полностью законченную программу, выполняющую оп-
ределенное практическое задание.
Часть II. "Курс программирования на VBA"
Редактор Visual Basic является, так сказать, доверенным представителем VBA на экра-
здесь вы пишете свои программы, конструируете открываемые этими программами ок-
на и тестируете свои создания, чтобы выяснить причины, по которым они отказываются ра-
ботать так, как нужно. Об этом я расскажу в первой главе части. Затем я расскажу об исполь-
зовании переменных. В остальных главах обсуждаются способы контроля того, что
происходит при выполнении программы, а также способы выявления и исправления хотя бы
Введение

части тех ошибок, которые всегда норовят прицепиться к любой программе. Завершим мы
материал части II рассмотрением таких вопросов, как создание окон, диалоговых окон
и форм, а также приемов программирования, необходимых для этого.
Часть "Практикуемся в программировании на VBA"
Эта часть — сердце книги. Здесь, в сотворенных с любовью главах, я открою вам секреты
мира VBA. Первая половина глав этой части систематизирует компоненты VBA-программы
и раскрывает структуру этих компонентов, чтобы вы всегда точно знали, что и где вам следу-
ет печатать. Далее идет практикум по правильному присвоению имен в VBA и приданию
презентабельного вида программному коду. Затем следуют главы, рассказывающие о работе
с переменными и объектами, что очень важно при настройке таких приложений, как Word,
Excel или CorelDraw. В последней главе мы поговорим о обработке данных, представленных
в виде массивов и наборов.
Часть IV. "Профессиональная работа с
В главах этой части вы познакомитесь с приемами программирования, которые примени-
мы практически ко всем приложениям Office, например настройка интерфейса пользователя,
программирование помощника Office и многое другое. Затем мы подробно поговорим
о программировании для Word и Excel, а также вопросах, представляющих немалый интерес
для VBA-программистов, независимо с какими приложениями они работают.
V. "Великолепные десятки"
Ваше путешествие в страну программирования средствами VBA завершается двумя гла-
вами, посвященными самым разнообразным темам. Сначала мы обсудим более изысканные
приемы программирования. Конечно, обсуждение не будет слишком глубоким, но и поверх-
ностным его тоже нельзя назвать — вполне достаточно для того, чтобы вы смогли реально
использовать эти приемы. Далее приводится каталог доступных ресурсов VBA, охватываю-
щий как информационные ресурсы, так и программные продукты. Туда стоит заглянуть и для
того, чтобы пополнить свои знания в VBA-программирования, и для того, чтобы пополнить
свою библиотеку программных средств разработчика.
Эта книга содержит достаточно много примеров программного кода, призванного иллю-
стрировать те концепции, которые я пытаюсь объяснить. Примеры кода будут ясно выделены
моноширинным шрифтом, причем и в случае представления программного кода отдельным
блоком, как здесь:
"Chartreuse"
и в случае появления программного кода просто в строке, как здесь: Debug. Print .
Для экономии места эти примеры чаще всего будут лишь фрагментами, которые сами по
себе выполняться не способны. Такие фрагменты выполнимы только в составе определенных
процедур, а многие примеры как раз и не включают необходимых операторов определения
этих процедур. В общем, если вы пожелаете увидеть результат выполнения этих примеров на
своем собственном компьютере, вам придется заключить представленные в примерах опера-
торы в подходящую процедуру (а в некоторых случаях дополнить программный код в соот-
ветствии с приведенными в тексте объяснениями.
20 Введение

Лично я считаю, что процесс печатания программного кода укрепляет моральные устои, но
я признаю также, что на некоторых из вас такой аргумент не произведет должного впечатления.
Именно по этой причине тексты процедур, соответствующих примерам, в готовом виде размеще-
ны на сервере издательства и теперь доступны через Internet по адресу
com. Так что не пугайтесь, печатать тексты процедур заново вам не придет-
ся — вы можете выгрузить их на свой компьютер и без лишних усилий просто импортировать
нужную процедуру в открытый проект, сразу получив возможность ее выполнения.
Довольно часто VBA-операторы (отдельные единицы программного кода оказьшаются доста-
точно длинными и поэтому случается, что они не умещаются в одной строке книги. В таких случаях
для обозначения того места, где единый оператор переносится на новую строку, я использую стан-
дартно применяемый для этого в VBA символ подчеркивания
Также я использовал в настоящей книге следующие соглашения.
Если я хочу, чтобы воспользовались определенной командой из меню, я говорю вам
"выберите команду Это означает, что вы должны подвести указа-
тель мыши к меню Файл и выбрать из него команду Открыть.
Новые элементы выделяются курсивом.
1 Части команд, которые вам следует изменить, выделяются так.
I Команды, которые вам необходимо ввести, отображаются полужирным.
Иногда полужирное выделение используется в инструкциях.
используемые
книге
Вы, наверное, видели уже немало книг, на полях которых встречаются пиктограммы, при-
званные помочь быстро найти самую важную информацию. Для этой книги изо всех пикто-
грамм я выбрал только четыре, чтобы не создавать внутри книги отдельное руководство по
использованию пиктограмм.
Обозначает любую информацию, на которую я счел нужным обратить ваше
внимание.
Материал, отмеченный этой пиктограммой, ненамного труднее для понимания,
чем остальной материал книги.
Предупреждает о возможной опасности.
Так я обозначил примеры с достаточно большими текстами программного кода,
чтобы вы не сомневались, что вам нет необходимости набирать код вручную, ес-
ли потребуется его использовать. Если же возле текста, представляющего про-
граммный код, такой пиктограммы нет, все равно не отчаивайтесь— тексты
программного кода многих не слишком длинных примеров есть также на сервере
издательства "Диалектика", но мне просто не хотелось, чтобы книга была напич-
кана пиктограммами сверх всякой меры.
Введение 21

В дополнение к этой книге я планирую создание Web-страницы, адрес которой должен
быть следующим:
Там вы найдете:
дополнения и исправления к тексту книги;
дополнительные материалы, по каким-либо причинам не вошедшие в книгу;
исходные программные коды, доступные по мере того, как я буду получать их в свое
распоряжение;
ссылки на другие страницы, посвященные VBA, включая страницы, относящиеся
к различным конкретным VBA-приложениям.
Но не ожидайте увидеть там чудеса оформления и множество графических изображений
развлекательного характера — я предполагаю направить главные усилия на то, чтобы предос-
тавленная информация оказалась максимально полезной. Поэтому, если вы обнаружите ка-
кие-то интересные приемы программирования или решения, о которых полезно знать другим
или если у вас есть ссылки на другие Web-страницы, я с благодарностью приму от вас
сообщения об этом.
Введение

Часть


Начальные сведения о VBA


"ФИЛИПП, привет! Mbt уже почти вошли в систему, но подскажи,
как подключиться непосредственно к экрану.
Я не хочу прославиться на весь город, как самый неудачливый хакер!'



В главе I обсуждаются те понятия, на которых основано
программирование в Обсуждаемые здесь идеи
действительно важны — поверьте мне, до тех пор пока
вы не поймете их, серьезная работа с VBA будет
. как минимум трудной. Но как только вы их одолеете,
эта книга станет для вас жутко полезной.
В главах 2-5 обсуждаются запись макросов,
создание VBA-кода и запуск программ, включая те же макросы.
После знакомства с этой частью вы уже будете точно знать,
как оживить свои VBA-программы в приложениях.
Правда, вы не будете знать,
что же следует поместить .
в сами программы, но именно поэтому в данной книге
еще около двух десятков глав.

Глава 1
Уважайте теория это все!
Для чего подходят лучше всего
Как VBA-программы взаимодействуют с другими приложениями
> О цикле создания программы — планирование, разработка программного кода, создание
форм и тестирование результата
Почему VBA не настолько стандартизирован, как можно было бы предположить
* овременные приложения, ориентированные на профессиональное использование,
предлагают множество интересных, умных и мощных возможностей. Но даже в случае
самых изощренных приложений довольно велика вероятность найти в них что-то, что безус-
ловно требует усовершенствования по вашему мнению.
Вот тут-то и приходит на помощь VBA. Если ваше программное обеспечение слишком
зажато с точки зрения дизайна, VBA поможет ослабить ремень ровно настолько, чтобы нуж-
ное приложение обеспечивало вам полный комфорт, будучи скроенным в соответствии
с именно вашими кривыми и выпуклостями.
с
следует хвататься за VBA только потому, что эта аббревиатура то тут, то там впечат-
ляюще произносится во время служебных вечеринок, Вам следует ближе познакомиться
с VBA, если только вы хотите лучше приспособить свое программное обеспечение к тем за-
просам, которые выдвигаете вы или другие пользователи.
Вообще-то компьютер остается бесполезной вещью до тех пор, пока он не делает то, что
нужно вам. Visual Basic для приложений — именно это и означает аббревиатура VBA — пред-
ставляет собой набор средств программирования для создания ваших собственных программ.
Как можно догадаться из самого названия, VBA предназначается для подгонки имеющихся
приложений под запросы пользователя. Здесь должно быть ясно, что приложение — это полно-
масштабная программа, выполняющая серьезную практическую работу (например, текстовый
процессор или приложение баз данных, в отличие утилиты, которая призвана сделать вашу
компьютерную систему более удобной и заставить работать ее надежнее.
С помощью VBA вы можете по своему усмотрению изменить внешний вид или способ при-
менения имеющихся средств приложения и даже добавить свои, совершенно новые возможно-
сти. Вот несколько примеров, где VBA окажется наилучшим выбором.
| Возможность, которую вам приходится часто использовать, оказывается спрятанной
где-то в глубинах диалоговых окон. Почему бы тогда не поместить соответствующую
команду в виде кнопки на панель инструментов, чтобы вызывать команду одним
щелчком? А еще лучше, если бы и сама эта кнопка появлялась только тогда, когда
команда действительно может понадобиться!
Глава 1. Уважайте теорию, теория - это все 25

I Вам часто приходится повторять один и тот же набор команд. Не предпочтете ли вы
I иметь программу, которая запомнит все необходимые для этого шаги и позволит за-
I пускать сразу всю последовательность одной командой?
Ваше программное обеспечение просто не имеет пары-тройки возможностей, кото-
рые вам совершенно необходимы. Почему бы вам не добавить недостающие команды
V самостоятельно?
VBA позволяет выполнить любую из вышеприведенных модификаций приложения; более
того, с помощью VBA вы можете создавать свои законченные и полностью работоспособные
программы. Ниже, в разделе "Подр

Ответить:

Твой ник:

 Цвет текста:

 Размер шрифта:
Закрыть тэги



Тем всего: 14
Записей всего: 53
Пользователей всего: 10
Сейчас онлайн (зарегистрированные пользователи): Никто crying smiley
 
Сегодня были уже 7 посетителей !
Этот сайт был создан бесплатно с помощью homepage-konstruktor.ru. Хотите тоже свой сайт?
Зарегистрироваться бесплатно