Автор: Владимир Биллиг | Тверской государственный университет
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Для всех
Длительность:
30:52:00
Студентов:
3147
Выпускников:
239
Качество курса:
4.65 | 4.29
Курс адресован программистам, работающим в среде Office, и использующим язык VBA для настройки офисных документов. Хотя он написан применительно к среде Office 2000, он сохраняет свою актуальность и для современной офисной среды. Он содержит полное описание языка Visual Basic, начиная с описания переменных и объектов, операторов языка и процедур и заканчивая созданием классов. Подробно разбираются вопросы: создание семейства классов, наследование интерфейсов, реализация полиморфизма, создание классов с событиями, программирование Win API, функции обратного вызова, новые функции разбора строк и многое другое.
Курс построен нетрадиционно. Первые 6 лекций, адресованы программистам, уже знакомым с языком VBA и имеющим опыт работы в среде Office. Документы и проекты, классы и объекты, семейства классов, динамические классы, классы как обертка, программирование Win API – все эти темы подробно обсуждаются в этой части курса.
Специальности: Программист, Менеджер
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
47 минут
Введение
Введение. Об Office 2000. Офисное программирование. Состав Office 2000. Инсталляция Office 2000. Содержимое диска "Resource Kit". Документ Issues. Документ ORK9. Папка Tools. Содержимое диска "Language Pack". Microsoft Office 2000 Developer. Об этой книге. Моя благодарность.
-
Лекция 2
2 часа 52 минуты
Начнем с объектов Office 2000
VBA и объекты - обзор. Библиотека объектов Office 2000 - каркас приложений. Построение каркаса документа. Библиотека объектов Office 2000 и Object Browser. Объекты Application. Коллекции в Office 2000. Коллекции Excel: Workbooks, Sheets. Коллекции Word: Documents, Paragraphs, Characters, Words, Sentences. Объекты Selection. Активные объекты и метод Activate. Macrorecorder.
-
Лекция 3
1 час 23 минуты
Документы и проекты
Проектирование документов. Документ и его программный проект. Модули - обработчики событий. Стандартные модули. Модули классов. Модуль макросов. Структура модуля. Окно проекта. Свойства проекта. Имя проекта. Защита проекта. Окно кода. Еще раз о "переиспользовании" модулей. Проект и область видимости. Система документов и ее проект. Организация системы документов. Как организуются ссылки между проектами. Обмен информацией между документами. Система документов One - Two - Three.
-
Лекция 4
58 минут
Типы данных и переменные
Типы данных. Простые типы данных. Объявление переменных и констант простых типов. Синтаксис объявления простых переменных. Объявления по умолчанию. Константы. Массивы. Динамические массивы. Записи и тип, определенный программистом. Что можно делать с записями? Раздел объявлений. Раздел опций. Разделы констант, типов и переменных. Раздел Declare. Правила именования.
-
Лекция 5
1 час 48 минут
Классы и объекты
Типы и классы. Еще раз о понятии "класс". Что нового в классах "Office 2000". Создание класса "Личность". Объекты и переменные Объекты, класс которых определен пользователем. Объекты "родного" приложения. ActiveX-объекты Модуль класса. Свойства. Сокрытие свойств. Конструкторы и деструкторы. Стандартные события. Стандартные события Initialize и Terminate. Два конструктора класса Rational Процедуры - свойства. Как создаются процедуры - свойства. Синтаксис Let, Get и Set. Классы, как упаковка. Семейство классов и процедуры - свойства. Методы. События. Классы, объекты With Events и обработчики событий . Модуль класса с объектом WithEvents. Объект WithEvents. События собственных классов. Как создать класс с событиями. Как зажигаются события. Где и как следует создавать обработчики событий для экземпляров класса. Связывание объектов Реальные объекты и инициирование событий. Итоги.
Оглавление
-
Лекция 6
1 час 32 минуты
Семейство классов и наследование интерфейсов. Динамические классы
Семейство классов и реализация интерфейсов. Наследование. Виртуальные методы и полиморфизм. Абстрактные классы. Наследование и полиморфизм в Office 2000. Наследование интерфейсов. Полиморфизм семейства классов. Проект "Люди и Машины". Создание динамических структур данных. Встроенный динамический класс Collection. Создание собственных динамических классов. Обертывание коллекции VBA.
-
Лекция 7
2 часа 5 минут
WinApi
Несколько слов об 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. Функция EnumWindows. Функции Win32 API для работы с таймером. Функция SetTimer. Функция обратного вызова TimerProc. Функция KillTimer. Пример создания, работы и удаления таймера. Классы как обертка вызовов функций Win32 API. Построение и использование класса ВашТаймер.
Оглавление
-
Лекция 8
56 минут
Операторы
Операторы и строки. Оператор комментария.Присваивание. Оператор Let. Оператор RSet. Оператор Set. Управляющие операторы. Условный оператор If Then Else End If. Оператор выбора Select Case. Цикл For Next Цикл Do...Loop. Цикл While...Wend. Цикл For Each...Next. Работа с каталогами, папками и файлами. Изменение текущего диска: оператор ChDrive. Изменение текущего каталога (папки): оператор ChDir. Создание каталога (папки): оператор MkDir. Переименование каталогов (папок) и файлов: оператор Name. Удаление каталога (папки): оператор RmDir. Установка атрибутов файла: оператор SetAttr. Копирование файлов: оператор FileCopy. Удаление файлов: оператор Kill. Прочие операторы. Операции с одним объектом. Оператор With. Звуковой сигнал: оператор Beep. Установка системной даты: оператор Date. Установка системного времени: оператор Time. Моделирование ввода с клавиатуры: оператор SendKeys.
-
Лекция 9
1 час 25 минут
Операции и встроенные функции
Операции. Работа с числовыми данными. Математические функции. Работа со строками. Сравнение строк. Сравнение с образцом. Основные операции над строками. Новые функции для работы со строками. Функция InStrRev - поиск последнего вхождения подстроки. Функция Replace - замена всех вхождений подстроки. Удаление подстроки. Разбор строки. Функции Split, Join и Filter. Преобразование строки в массив. Функция Split. Сборка элементов массива в строку. Функция Join Фильтрация элементов массива. Функция Filter Несколько модификаций встроенных функций. Замена, основанная на шаблоне. Функция WildReplace. Замена разных символов строки. Функция CharSetReplace Фильтрация, основанная на шаблоне. Функция WildFilter Разбор строки, допускающей разные разделители ее элементов. Функция WildSplit. Работа с датами и временем. Присваивание значений. Встроенные функции для работы с датами. Определение текущей даты или времени. Вычисления над датами Функция Timer и хронометраж вычислений. Некоторые встроенные функции. Функции проверки типов данных Преобразование типов данных. Форматирование данных. Функции группы Format. Другие функции форматирования.
Оглавление
-
Лекция 10
1 час 20 минут
Процедуры и функции
Описание и создание процедур. Классификация процедур. Синтаксис процедур и функций. Функции с побочным эффектом. Создание процедур обработки событий. Вызовы процедур Sub. Вызовы функций. Использование именованных аргументов. Аргументы, являющиеся массивами. Задача о медиане. Пользовательские функции, принимающие сложный объект Range. Рекурсивные процедуры. Деревья поиска: Класс TreeNode; Класс BinTree; Работа со словарем.
-
Лекция 11
1 час 45 минут
Отладка и оптимизация программ. Отладка
Отладка. Написание надежных программ. Искусство и средства отладки. Панель отладки и команды меню. Окна наблюдения: Locals, Immediate и Watch. Объект Debug и его методы Print и Assert. Доказательство правильности программ. Условная компиляция и отладка. Директива #const. #If … Then … #Else директива. Ошибки периода выполнения и их обработка. Модель управления ошибками в языке VBA. Оператор On Error. Оператор Resume. Объект Err. Метод Clear. Метод Raise. Класс и обработка ошибок. Обработчики ошибок и вложенные вызовы процедур. Структура обработчика ошибок. Функция CvErr. Оптимизация программ. Приемы оптимизации кода. Объявление переменных. Математические операции. Строковые операции. Циклы.
-
Лекция 12
1 час 4 минуты
Проектирование интерфейса. Меню
Общие объекты Office 2000. Коллекция CommandBars. Свойства и методы коллекции CommandBars .Свойства и методы объекта CommandBar. Коллекция CommandBarControls и ее элементы. О роли интерфейса. Создание собственных и модификация встроенных меню. Немного терминологии. Возможности настройки и изменения системы меню. Создание собственного головного меню. Использование диалогового окна Настройка. Создание меню с помощью VBA. Добавление выпадающих меню. Использование диалогового окна Настройка. Как добавить встроенное меню. Добавление выпадающего меню с помощью VBA. Добавление подменю. Вставка и группировка команд. Добавление встроенной команды с помощью окна Настройка. Добавление собственной команды с помощью окна Настройка. Добавление команд с помощью VBA. Пример построения документа с собственным меню Группировка команд меню. Удаление команд меню. Удаление команды с помощью окна Настройка. Удаление команды с помощью VBA. Как восстановить удаленные встроенные компоненты меню. Изменение меню во время р аботы программы. Вывод собственной панели меню. Динамическое изменение видимости команд меню. Управление доступом к командам меню. Переименование команды меню.
Оглавление
-
Лекция 13
1 час 24 минуты
Проектирование интерфейса. Диалоговые окна
Диалоговые окна и элементы управления. Общие сведения и применение. Встроенные диалоговые окна. Коллекция Dialogs и объект Dialog. Вывод сообщений. Функция MsgBox. Окно ввода данных. Функция InputBox. Создание пользовательских диалоговых окон. Создание страниц и вкладок в диалоговых окнах. Добавление дополнительных элементов управления. Пример создания диалогового окна. Разработка процедур, обрабатывающих события диалогового окна и его устройств. Вызов собственного диалогового окна. Установка начальных значений свойств элементов управления. Использование Me в качестве имени текущего диалогового окна. Модификация управляющих элементов во время работы. Управление доступом к элементу. Перемещение фокуса на элемент управления. Изменение размеров диалогового окна. Проверка корректности данных. Обмен данными с диалоговым окном. Закрытие диалогового окна.
Оглавление
-
Лекция 14
3 часа 11 минут
Проектирование интерфейса. Объекты диалоговых окон
Проектирование интерфейса. Объекты диалоговых окон. Объект UserForm (диалоговое окно), коллекция UserForms (диалоговые окна). Коллекция Controls. Объекты - элементы управления. Перечень основных элементов управления. Общие свойства элементов управления: объект-родитель, имя объекта, значение объекта, расположение объекта, параметры внешнего вида объекта, шрифт, свойства поведения объекта. Другие свойства: 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 (Вывести список), Move (Сдвинуть), Paste (Вставить), Реализация операций Cut, Copy, Paste в диалоговых окнах, Метод RedoAction (Повторить действие), Remove (Удалить), RemoveItem (Удалить элемент), Repaint (Перерисовать), Scroll (Прокрутить), SetDefaultTabOrder (Установить стандартный порядок обхода), SetFocus (Установить фокус), UndoAction (Отменить действие), реализация операций Undo и Redo в диалоговых окнах и метод ZOrder (Z-упорядочить).
Оглавление
-
Лекция 15
1 час 13 минут
Файловый ввод-вывод.
Основные виды файлов в Office 2000. Открытие и создание файлов. Закрытие файлов. Запись в файлы последовательного доступа. Чтение файлов последовательного доступа. Ввод-вывод для файлов произвольного доступа и бинарных файлов. Работа с данными переменной длины. Один пример работы с Binary файлом.
-
1 час 40 минут
-
полина есенкова
полина есенкова
Дмитрий Вологжин
Дмитрий Вологжин
Добрый день, прошел тесты с 1 по 9, 10 не сдал, стал читать лекцию и всё пройденные тесты с 1 по 9 сбросились, когда захотел пересдать 10 тест.
Геннадий Шестаков
Геннадий Шестаков
Беларусь, Орша
Светлана Ведяева
Светлана Ведяева
Россия, Саратов