Создание приложений VBA в Excel, типичные ситуации
Excel — это наиболее часто используемое с точки зрения программирования приложение Office. По моему опыту преподавания курсов по программированию в Office, в подавляющем большинстве случаев сотрудников предприятий интересует, как автоматизировать выполнение операций именно в Excel. Чаще всего на предприятиях встречаются следующие ситуации:
Приемы, необходимые для решения подобных задач, рассматриваются в данной главе. Надеемся, что после ее изучения проблем с тем, как их решать, у вас не возникнет.
С программной точки зрения Excel, в отличие от Word, чаще всего используется не как средство для вывода и редактирования данных, а для выполнения различных расчетов и отображения их в специальных форматах (график, сводная таблица и т.п.). Если же объем данных большой (например, нужно хранить информацию по заказчикам/договорам/поставкам, то есть смысл подумать о связке Excel плюс база данных (такая связка может быть очень удобной и производительной).
В отличие от Word, навигацию по книгам и листам Excel производить намного удобнее, поскольку у каждой ячейки есть свой адрес (и даже два адреса — в формате A1 и в формате R1C1). Кроме того, в Excel есть возможность присваивать имена диапазонам ячеек, что также очень удобно.
Иерархия стандартных объектов в Excel немного больше. Если в Word все построено вокруг трех объектов: Application — Document — Range, то в Excel появляется новый элемент — лист, поэтому главная его иерархия выглядит следующим образом: Application — Workbook (книга) — Worksheet (лист) — Range (диапазон).
В Excel предусмотрена очень богатая библиотека встроенных функций (статистических, финансовых, математических и т.п.), которые вполне можно использовать в приложениях. Часто именно наличие такой библиотеки функций оказывается решающим при выборе Excel в качестве платформы для построения приложения.
В Excel встроено несколько фактически внешних приложений, использование которых в может быть очень удобным. Примеры — Сводная таблица (объект PivotTable) — интегрированный в Excel OLAP-клиент приобретенной Microsoft фирмы Panorama Software, QueryTable — специальный объект для работы с информацией из базы данных, объект Chart — средство работы с диаграммами и т.п.