Основы офисного программирования и язык VBA
Подвижный VBA'стик в кислотной ActiveX-среде
Use Case с точки зрения программиста
Use Case с точки зрения пользователя и заказчика
Постановка задачи
Дополнительные условия
Вопросы для системного администратора
Об Office 2000
Офисное программирование
Состав Office 2000
Инсталляция Office 2000
Содержимое диска "Resource Kit"
Документ Issues
Документ ORK9
Папка Tools
Содержимое диска "Language Pack"
Microsoft Office 2000 Developer
Основы офисного программирования и язык VBA
VBA и объекты. ОбзорБиблиотека объектов Office 2000 - каркас приложений
Встраивание вместо наследования
Macrorecorder
Построение каркаса документа
Библиотека объектов Office 2000 и Object Browser
Объекты Application
Свойства-участники
Вторая группа терминальных свойств
Методы объектов Application
События объектов Application
Совместная работа приложений. Создание объектов Application. Раннее и позднее связывание
Коллекции в Office 2000
Коллекции объектов Office 2000
Коллекции Excel: Workbooks, Sheets
Коллекция Workbooks
Коллекция Sheets
Коллекции Word: Documents, Paragraphs и другие
Коллекция Documents
Коллекция Paragraphs
Коллекция Sections
Коллекции Characters, Words, Sentences
Коллекции и конструкция For Each … Next
Объекты Range
Что определяет объект Range?
Метод Range
Объекты Selection
Метод Select и свойство Selection
Активные объекты и метод Activate
Пример 1.1
Проектирование документов
Документ и его программный проект
Модули - обработчики событий
Стандартные модули
Модули классов
Модуль макросов
Структура модуля. Окно проекта и Окно кода
Окно проекта
Свойства проекта
Имя проекта
Защита проекта
Окно кода
Еще раз о "переиспользовании" модулей
Проект и область видимости
Система документов и ее проект
Организация системы документов
Как организуются ссылки между проектами
Обмен информацией между документами
Система документов One - Two - Three
DocFour
Мои любимые поэты XIX века
Пример 2.1
Основы офисного программирования и язык VBA
Типы данныхПростые типы данных.
Объявление переменных и констант простых типов
Синтаксис объявления простых переменных
Объявления по умолчанию
Константы
Массивы
Динамические массивы
Записи и тип, определенный программистом
Что можно делать с записями?
Раздел объявлений
Раздел опций
Разделы констант, типов и переменных
Раздел Declare
Правила именования
Пример 1. Объявление переменных. Вызов процедуры Start модуля Father:
Пример 2. Правильное объявление массива. Работа с ним:
Пример 3. Работа с динамическим массивом:
Пример 4. Определение и работа с записями:
Пример 3.1
Основы офисного программирования и язык VBA
Еще раз о понятии "класс"Что нового в классах "Office 2000"
Создание класса "Личность"
Объекты и переменные
Объекты, класс которых определен пользователем.
Объекты "родного" приложения
ActiveX-объекты
Свойства
Сокрытие свойств
Конструкторы и деструкторы. Стандартные события
Стандартные события Initialize и Terminate
Два конструктора класса Rational
Процедуры - свойства
Как создаются процедуры- свойства
Синтаксис Let, Get и Set
Классы, как упаковка
Семейство классов и процедуры - свойства
Методы
Friend методы
События
Классы, объекты With Events и обработчики событий
Модуль класса с объектом WithEvents
Объект WithEvents
События собственных классов
Как создать класс с событиями
Как зажигаются события
Где и как следует создавать обработчики событий для экземпляров класса
Связывание объектов
Реальные объекты и инициирование событий
Итоги
Пример 6: работа с классом Группа. Создание группы.
Пример 7: работа с классом Rational. Вычисления над рациональными числами.
Пример 8: работа по созданию объекта Excel Application With Events
Это документ под названием DocTwo
Пример 4.1
Основы офисного программирования и язык VBA
Семейство классов и реализация интерфейсовНаследование
Виртуальные методы и полиморфизм
Абстрактные классы
Наследование и полиморфизм в Office 2000
Наследование интерфейсов
Полиморфизм семейства классов
Проект "Люди и Машины"
Создание динамических структур данных
Встроенный динамический класс Collection
Создание собственных динамических классов
Обертывание коллекции VBA
Пример 5.1
Основы офисного программирования и язык VBA
Несколько слов об API, Win32, DLL.VBA и Win32 API
Вызов функций и оператор Declare
Две кодировки ANSI и Unicode
API Viewer
Два языка: C и VB. Различия при вызове функций
Соответствие между простыми типами данных
Структуры языка C и тип, определенный пользователем, в языке VBA
Об описателях языка C и объектах Windows
Void функции языка C
Вызов аргументов по ссылке ByRef и по значению ByVal
Строковые аргументы при вызове функций Win32 API
Тип Any
Примеры работы с Win32 API функциями
Работа с окнами
Характеристики окружения
Вызов функций Win32 API, работающих в Unicode кодировке
Обработка ошибок, возникающих при вызове функций Win32 API
Функции API и вызов Callback функций
Функции высших порядков и конструкция AddressOf
Функции перечисления Win32 API
Функция EnumWindows
Еще один пример работы с функцией EnumWindows
Функции Win32 API для работы с таймером
Функция SetTimer
Функция обратного вызова TimerProc
Функция KillTimer
Пример создания, работы и удаления таймера
Классы как обертка вызовов функций Win32 API
Построение класса "ВашТаймер"
Использование класса ВашТаймер
DocOne6
Пример 1. Работа с окнами
Пример 3 Работа с функциями в Unicode кодировке
Пример 5 Работа с функцией Api, вызывающей CallBack функцию
Пример 6.1
Основы офисного программирования и язык VBA
ОператорыОператоры и строки
Оператор комментария
Присваивание
Оператор Let
Оператор LSet
Оператор RSet
Оператор Set
Управляющие операторы
Оператор выбора Select Case
Цикл Do...Loop
Цикл While...Wend
Цикл For Each...Next
Работа с каталогами, папками и файлами
Изменение текущего диска: оператор ChDrive
Изменение текущего каталога (папки): оператор ChDir
Создание каталога (папки): оператор MkDir
Переименование каталогов (папок) и файлов: оператор Name
Удаление каталога (папки): оператор RmDir
Установка атрибутов файла: оператор SetAttr
Копирование файлов: оператор FileCopy
Удаление файлов: оператор Kill
Прочие операторы
Операции с одним объектом. Оператор With
Звуковой сигнал: оператор Beep
Установка системной даты: оператор Date
Установка системного времени: оператор Time
Моделирование ввода с клавиатуры: оператор SendKeys
Пример 7.1
Основы офисного программирования и язык VBA
ОперацииРабота с числовыми данными
Математические функции
Работа со строками
Сравнение строк
Сравнение с образцом
Основные операции над строками
Новые функции для работы со строками
Функция InStrRev - поиск последнего вхождения подстроки
Функция Replace - замена всех вхождений подстроки
Удаление подстроки
Разбор строки. Функции Split, Join и Filter
Преобразование строки в массив. Функция Split
Сборка элементов массива в строку. Функция Join
Фильтрация элементов массива. Функция Filter
Несколько модификаций встроенных функций
Замена, основанная на шаблоне. Функция WildReplace
Замена разных символов строки. Функция CharSetReplace
Фильтрация, основанная на шаблоне. Функция WildFilter
Разбор строки, допускающей разные разделители ее элементов. Функция WildSplit
Работа с датами и временем
Присваивание значений
Встроенные функции для работы с датами
Определение текущей даты или времени.
Вычисления над датами
Функция Timer и хронометраж вычислений
Некоторые встроенные функции
Функции проверки типов данных
Преобразование типов данных
Форматирование данных. Функции группы Format
Функция Format.
Другие функции форматирования
Пример 8.1
Основы офисного программирования и язык VBA
Описание и создание процедурКлассификация процедур
Синтаксис процедур и функций
Функции с побочным эффектом
Создание процедуры
Создание процедур обработки событий
Вызовы процедур Sub
Вызовы функций
Использование именованных аргументов
Аргументы, являющиеся массивами
Конструкция ParamArray
Задача о медиане
Пользовательские функции, принимающие сложный объект Range
Рекурсивные процедуры
Деревья поиска
Класс TreeNode
Класс BinTree
Работа со словарем
Пример 9.1
Основы офисного программирования и язык VBA
ОтладкаНаписание надежных программ
Оптимизация программ
Приемы оптимизации кода
Объявление переменных
Математические операции
Строковые операции
Циклы
Искусство отладки
Средства отладки
Панель отладки и команды меню
Окна наблюдения
Окно локальных переменных - Locals
Окно проверки - Immediate
Окно контрольных выражений - Watch
Объект Debug и его методы
Метод Print
Метод Assert
Доказательство правильности программ
Условная компиляция и отладка
Директива #const
#If … Then … #Else директива
Ошибки периода выполнения и их обработка
Модель управления ошибками в языке VBA.
Оператор On Error
Оператор Resume
Объект Err
Метод Clear
Метод Raise
Класс и обработка ошибок
Обработчики ошибок и вложенные вызовы процедур
Структура обработчика ошибок
Функция CvErr
Пример 10.1
Основы офисного программирования и язык VBA
Проектирование интерфейса. МенюОбщие объекты Office 2000
Коллекция CommandBars
Свойства и методы коллекции CommandBars
Свойства и методы объекта CommandBar
Коллекция CommandBarControls и ее элементы
О роли интерфейса
Создание собственных и модификация встроенных меню
Немного терминологии
Возможности настройки и изменения системы меню
Создание собственного головного меню
Использование диалогового окна Настройка
Создание меню с помощью VBA
Добавление выпадающих меню
Как добавить встроенное меню
Добавление выпадающего меню с помощью VBA
Добавление подменю
Вставка и группировка команд
Добавление встроенной команды с помощью окна Настройка
Добавление собственной команды с помощью окна Настройка
Добавление команд с помощью VBA
Пример построения документа с собственным меню
Группировка команд меню
Удаление команд меню
Удаление команды с помощью окна Настройка
Удаление команды с помощью VBA
Как восстановить удаленные встроенные компоненты меню
Изменение меню во время работы программы
Вывод собственной панели меню
Динамическое изменение видимости команд меню
Управление доступом к командам меню
Переименование команды меню
Пример 11.1
Основы офисного программирования и язык VBA
Диалоговые окна и элементы управленияОбщие сведения и применение
Коллекция Dialogs и объект Dialog
Вывод сообщений. Функция MsgBox
Окно ввода данных. Функция InputBox
Создание пользовательских диалоговых окон
Создание страниц и вкладок в диалоговых окнах
Добавление дополнительных элементов управления
Пример создания диалогового окна
Разработка процедур, обрабатывающих события диалогового окна и его устройств
Вызов собственного диалогового окна
Установка начальных значений свойств элементов управления
Использование Me в качестве имени текущего диалогового окна
Модификация управляющих элементов во время работы
Управление доступом к элементу
Перемещение фокуса на элемент управления
Изменение размеров диалогового окна
Проверка корректности данных
Обмен данными с диалоговым окном
Закрытие диалогового окна
Пример 12.1
Основы офисного программирования и язык VBA
Объект UserForm (диалоговое окно), коллекция UserForms (диалоговые окна)Коллекция Controls
Перечень основных элементов управления
Объект-родитель
Имя объекта
Значение объекта
Метод Move (Сдвинуть)
Метод Paste (Вставить)
Реализация операций Cut, Copy, Paste в диалоговых окнах
Метод RedoAction (Повторить действие)
Метод Remove (Удалить)
Метод RemoveItem (Удалить элемент)
Метод Repaint (Перерисовать)
Метод Scroll (Прокрутить)
Метод SetDefaultTabOrder (Установить стандартный порядок обхода)
Метод SetFocus (Установить фокус)
Метод UndoAction (Отменить действие)
Реализация операций Undo и Redo в диалоговых окнах
Метод ZOrder (Z-упорядочить)
Расположение объекта
Параметры внешнего вида объекта
Шрифт
Свойства поведения объекта
Другие свойства
CheckBox - флажок (кнопка выбора)
ComboBox - комбинированный список
CommandButton - командная кнопка
Frame - рамка (группы)
Image - изображение
Label - метка (надпись, статический текст)
ListBox - список
MultiPage - набор страниц
OptionButton - кнопка-переключатель
ScrollBar - полоса прокрутки
SpinButton - счетчик
TabStrip - полоса вкладок
TextBox - поле ввода (окно редактирования)
ToggleButton - выключатель
Объект DataObject
Перемещение объектов. Как реализовать технику DragAndDrop
Событие AddControl (добавился элемент)
Событие AfterUpdate (После модификации)
Событие BeforeDragOver (Перед завершением перетаскивания)
Событие BeforeDropOrPaste (Перед опусканием или вставкой)
Событие BeforeUpdate (Перед модификацией)
Событие Change (Изменение)
Событие Click (Щелчок)
Событие DblClick (Двойной щелчок)
Событие DropButtonClick (Щелчок кнопки списка)
События Enter, Exit (Вход, Выход)
Событие Error (Ошибка)
События KeyDown, KeyUp (Клавиша нажата, Клавиша отпущена)
Событие KeyPress (Клавиша нажата)
Событие Layout (Расположение)
События MouseDown, MouseUp (Мышь нажата, Мышь отпущена)
Событие MouseMove (Мышь движется)
Событие RemoveControl (Удаление элемента)
Событие Scroll (Прокрутка)
События SpinDown (Уменьшить счетчик), SpinUp (Увеличить счетчик)
Событие Zoom (Расширение)
Метод Add (Добавить)
Метод AddItem (Добавить элемент)
Метод Clear (Очистить)
Метод Copy (Копировать)
Метод Cut (Вырезать)
Метод DropDown (Вывести список)
Пример 13.1
Temp
Основы офисного программирования и язык VBA
Основные виды файлов в Office 2000Открытие и создание файлов
Закрытие файлов
Запись в файлы последовательного доступа
Чтение файлов последовательного доступа
Ввод-вывод для файлов произвольного доступа и бинарных файлов
Работа с данными переменной длины
Один пример работы с Binary файлом
Пример 14.1
Вместо заключения
Вопрос первый: "Как сохранить
Вопрос второй: "Как импортировать
Содержание раздела