Microsoft Excel среда программирования Visual Basic for Applications (VBA), которую Microsoft почему-то называет «редактором Visual Basic», является не только удобным и мощным средством решения большого класса прикладных задач, но и превосходным средством обучения программированию. Размещая на рабочих листах исходные данные и результаты, получаем возможность обходиться без множества посторонних файлов, сопровождающих расчёты в других средах программирования.
В рассматриваемом лабораторном практикуме описано 14 лабораторных работ, рассчитанных на двухчасовые занятия. Каждая работа предваряется теоретическим введением и завершается контрольными вопросами.
В первой работе обучаемый знакомится с инструментами входа в среду VBA, создаёт макрос и с основными элементами среды VBA. С точки зрения обучения здесь существенно то, что макрорекодер VBA создаёт исходный текст, для понимания которого достаточно знать несколько английских слов.
Вторая работа посвящается программе Workbook_Open. Все последующие занятия напоминают об этой работе текстом приветствия, выводимого на активный рабочий лист при открытии книги, и обучаемый воочию видит смысл программы, реагирующих на событие. Попутно, как бы мимоходом, обучаемый знакомится со свойством Range, основным инструментом доступа к ячейкам рабочего листа, а также с функцией Format, обеспечивающей нестандартное представление числа (в данном случае – даты).
В третьей работе на примерах операций с листами обучаемые знакомятся с некоторыми терминами (свойство, метод, коллекция) объектно-ориентированного программирования, без знания которых проблематично разбираться в справочных материалах. «Знатоки» Excel вдруг узнают о возможности сделать лист очень скрытым и изучают манипуляции с такими листами.
В двух следующих работах рассматриваются объекты Range и Selection, а также свойства Range, Cells, Offset и метод Union, т.е. инструментарий доступа к ячейкам рабочего листа. Как не без оснований считает «мистер Электронная таблица» Дж. Уокенбах [1], на этом знакомство с VBA можно считать состоявшимся.
Пятая работа демонстрирует пример практического использования объекта Range при обработке диапазонов произвольного размера. Обучаемые знакомятся со свойством End и методом Advanced Filter.
Неумение работать с поясняющими текстами часто мешает расчётчику получать полноценный результат. В седьмой работе обучаемые разбирают текстовые функции, которые будут использоваться при обработке списков в следующих работах.
Для многих студентов камнем преткновения в программировании являются циклы. Поэтому они рассматриваются в двух работах применительно к одному из естественных и распространённых случаю обработке списков. Кроме того в девятой работе обсуждается вопрос профессионального подхода к программированию, а именно защите программы от неправильных или нештатных данных.
Десятая и одиннадцатая работы продолжают линию на профессиональный подход к программированию. Здесь разрабатываются диалоговое окно для практической задачи учёта и интерфейс с программой.
Автор считает, что знакомство с VBA будет неполным, если обучаемые не освоят встроенные функции InputBox и MsgBox; они, а также метод Excel InputBox, разбираются в двенадцатой работе.
Работа № 13 предназначена для закрепления навыков программирования циклов, использования арифметических и текстовых функций. Результат, сообщаемый программой, создаваемой в этой работе, вызывает оживленный интерес у студентов.
В работе № 14 рассматриваются вопросы разработки функции пользователя для использования в формулах рабочего листа, причём создаваемая функция может рассматриваться как заполнение одного из пробелов в математическом оснащении Excel. Подетально описывается процесс разработки сюжета функции от идеи до получения готового продукта профессионального уровня.
К каждой работе даётся готовая или почти готовая программа с подробными пояснениями используемых определяющих программных построений и функций. автор умышленно уклонился от описания синтаксиса языка, поскольку даже человеку, никогда не знакомившегося с бэйсиком (что само по себе маловероятное событие), не составляет большого труда разобраться в приводимых готовых текстах.
Часть работ настоящего практикума, описанная в [2], несколько лет используется в учебном процессе. Настоящий практикум расширен, чтобы его можно было использовать в обучении программированию магистрантов различных направлений подготовки.
Все работы от замысла до реализации являются оригинальными.