Предисловие
Несколько лет назад автору — сертифицированному преподавателю Micro-
soft — поступил заказ: подготовить курс по программированию в Office. За-
дача была простая: существует группа из нескольких десятков человек, дос-
таточно продвинутых пользователей, которые не имеют никакого опыта про-
граммирования. Одни пользователи занимались анализом трафика базовых
станций в сети (заказчик был оператором сотовой связи российского масшта-
ба), другие — проектами по развертыванию тех же базовых станций, третьи
все это планировали и прогнозировали и т. п. И многие пользователи обра-
щались к IT-подразделению с просьбой автоматизировать выполнение опре-
деленных задач, например:
загрузку в Excel информации из базы данных SQL Server, дальнейший
анализ (например, выявление тенденций) и представление результатов в
стандартном виде;
автоматическое создание сводных таблиц и графиков в Excel;
проход по всем проектам (300—400 единиц) на Project Central (программ-
ное средство для корпоративной работы с проектами Microsoft Project) и
замена в них каких-то элементов;
создание стандартных документов Word, в которые бы подставлялись
данные из базы данных. И, конечно, список задач этим не ограничивался. На этом предприятии были очень квалифицированные, но постоянно занятые
программисты. Конечно, они отзывались на просьбы пользователей, но фак-
тически намного больше времени уходило на постановку задачи, чем на ее
решение. А через некоторое время задача вполне могла слегка измениться
(например, нужно было ввести дополнительную ось на графике в Excel или
поменять пару строк в шаблоне Word), и сотрудникам приходилось снова об-
ращаться к разработчикам.
10 Предисловие
В результате мудрое руководство предприятия пришло к выводу, что проще
научить пользователей автоматизировать свою работу самостоятельно, и по-
этому был заказан этот курс.
Подготовка любого учебного курса — дело очень трудоемкое, и поэтому ав-
тор (у которого к тому времени был опыт преподавания более чем
30 официальных курсов Microsoft) постарался подобрать что-нибудь подхо-
дящее из официальных курсов Microsoft Official Curriculum (MOC). Однако
его ждала неудача: у Microsoft были предусмотрены только курсы по Access
различных версий плюс мини-курсы по очень специфическим вопросам: при-
ложения коллективного использования (курс 2381), решения управления зна-
ниями (курс 1904) и т. п. Сами курсы были скорее обзорными и предназнача-
лись для того, чтобы познакомить опытных разработчиков с новыми техно-
логиями. Тогда автор обратился к книжным полкам. Был куплен десяток книг, которые
имели отношение к теме "Программирование в Office", но ни по одной из них
сделать учебный курс было нельзя. Некоторые книги под программировани-
ем в Office понимали использование математических и финансовых функций
в Excel, другие ограничивались рассмотрением элементарных программных
конструкций VBA, в-третьих полкниги отводилось на объяснение основ объ-
ектно-ориентированного программирования (при этом в реальной работе на
VBA определять пользовательские классы приходится достаточно редко).