Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

130

Часть II. Разработка приложений Excel

Как диспетчер баз данных. Если вы имеете дело с достаточно простыми струк­ турами данных, намного проще для управления ими воспользоваться Excel, а не Access.

Как генератор бланков. Многим пользователям для создания привлекательных печатных бланков проще обратиться к инструментам форматирования Excel, а не изучать настольную издательскую систему, например PageMaker.

Как текстовый процессор. Функции управления текстом, которые присутствуют во всех процессорах электронных таблиц, предоставляют возможность манипули­ ровать текстом так, как это невозможно даже в текстовом процессоре.

Как платформа для простых игр. Конечно, разработчики программы Excel о та­ ком ее применении и не думали. Однако я загрузил из Интернета (а также написал собственноручно) интересные стратегические игры, в которых применяются инст­ рументы Excel и других процессоров электронных таблиц.

Вы, вероятно, можете пополнить этот список, вспомнив еще многие другие примеры. Ирония в том, что универсальность процессоров электронных таблиц является палкой о двух концах. С одной стороны, появляется искушение применить такую программу для

решения любой возникшей проблемы. А с другой — вы часто выбиваетесь из сил, пыта­ ясь с помощью электронных таблиц справиться с проблемой, для которой легче найти другое решение.

Основные типы электронных таблиц

В этом разделе приведена классификация электронных таблиц, включающая несколь­ ко основных типов. Она проиллюстрирует, каким образом электронные таблицы вписы­ ваются в общую картину управления данными с помощью компьютера. Конечно, данная классификация является довольно условной. Она создана исключительно на основе мое­ го личного опыта. Более того, ее категории часто пересекаются, однако к ним относится большинство электронных таблиц.

Предложим такие названия для категорий (типов) электронных таблиц:

электронные таблицы “на скорую руку”;

электронные таблицы “не для посторонних глаз”;

однопользовательские приложения;

приложения-“спагетти”;

приложения-утилиты;

надстройки с функциями рабочих листов;

одноблоковые бюджеты;

модели “что если”;

приложения для хранения данных и доступа к ним;

клиентские приложения для доступа к базам данных;

приложения “под ключ”.

О каждой из этих категорий рассказывается в следующих разделах.

Глава 5. Приложения электронных таблиц

131

Электронные таблицы “на скорую руку”

Вероятно, это самый распространенный тип электронных таблиц. Большинство элек­ тронных таблиц из этой категории являются небольшими. Они разрабатываются для то­ го, чтобы быстро решить проблему или получить ответ на вопрос. Рассмотрим пример. Вы собираетесь купить новую машину, поэтому необходимо для разных сумм кредита вычислить размер ежемесячной выплаты. Или вы решили создать диаграмму, которая будет отображать объем продаж вашей компании по месяцам. Введите 12 значений, ско­ пируйте диаграмму и вставьте ее в документ, создаваемый в текстовом процессоре.

В обоих случаях на разработку модели уходит несколько минут, и, конечно же, у вас нет времени документировать свои действия. Скорее всего, вы и не думаете создавать какие-либо макросы или пользовательские диалоговые окна. Наверняка вы даже не счи­ таете нужным сохранять эти простые электронные таблицы на диске. Вот почему элек­ тронные таблицы этой категории не являются приложениями.

Электронные таблицы “не для посторонних глаз”

Как следует из названия, электронные таблицы, которые попадают в эту категорию, не увидит и не будет использовать никто, кроме вас — их разработчика. В качестве при­ мера можно привести файл с информацией, которая относится к оплате налогов, начис­ ляемых на основе ваших доходов. Вы открываете свой файл, когда к вам по почте при­ ходит чек, или “влезаете” в расходы, которые можно рассматривать как производствен­ ные, или же покупаете у торговцев на улице ворованную автомагнитолу и т.д. Другим примером является электронная таблица, в которой вы ведете учет времени, потраченно­ го вашими сотрудниками (отсутствие на работе по болезни, отпуск и т.д.) попусту или попросту прогулянного.

Электронные таблицы данной категории отличаются, например, от созданных “на скорую руку”, которые не являются одноразовыми, поэтому их и сохраняют в файлах. Однако на них не стоит тратить много времени — примените простое форматирование (лишь в случае необходимости). В электронных таблицах этого типа также отсутствуют инструменты обнаружения ошибок: вы знаете, каким образом формулы создавались, по­ этому вам хорошо известно, как избежать ввода данных, приводящих к ошибочным ре­ зультатам. При появлении ошибки вы сразу будете знать, чем она вызвана.

Сложность электронных таблиц этой категории со временем возрастает, однако они не являются приложениями.

Однопользовательские приложения

Это могут быть приложения электронных таблиц, используемые только их разработ­ чиком, однако по своей сложности вышедшие далеко за пределы электронных таблиц “не для посторонних глаз”. Например, я разработал рабочую книгу, чтобы вести в ней учет зарегистрированных пользователей условно-бесплатных приложений. Книга начи­ нается простой базой данных, расположенной на одном рабочем листе (она предназнача­ ется только для просмотра разработчиком). Однако вскоре эта рабочая книга также по­ надобилась для создания накладных и почтовых этикеток. Потратив однажды около часа на создание макросов, я понял, что превратил эту рабочую книгу из приложения “не для посторонних глаз” в настоящее однопользовательское приложение.

132

Часть II. Разработка приложений Excel

Создавая для себя однопользовательские приложения, вы имеете прекрасную воз­ можность попрактиковаться с инструментами, которыми пользуются разработчики Ехсе1-приложений. Например, вы можете научиться создавать пользовательские диало­ говые окна, видоизменять меню, создавать пользовательские панели инструментов, пи­ сать VBA-макросы и т.д.

Совет

Работа над сложным проектом — наилучший способ освоить сложные функ­ ции Excel (а также любого другого приложения).

Приложения-“спагетти”

Среди электронных таблиц все еще распространены приложения-“спагетти”. Само понятие возникло из-за того, что иногда в отдельных частях приложения разобраться до­ вольно трудно; эти части во многом так же спутаны между собой, как спагетти на тарел­ ке. Большинство этих электронных таблиц разрабатывались как специализированные од­ нопользовательские приложения. Но со временем они перешли во владение других поль­ зователей, которые внесли свои изменения. По мере того как требования менялись, а сотрудники приходили и уходили, одни части появлялись, а другие игнорировались. Спустя некоторое время первоначальное назначение рабочей книги забылось. В резуль­ тате получился файл, используемый довольно часто, однако никто не знает, как же этот файл работает.

Каждый, кто имеет дело с приложениями-“спагетги”, понимает, что их необходимо полностью переделывать. Но поскольку мало кто знает, как это сделать, со временем дела обстоят все хуже и хуже. Консультанты по процессорам электронных таблиц зарабатывают немалые деньги, занимаясь распутыванием таких приложений. Как правило, в процессе улучшения приложений-“спагетги” наиболее эффективным является следующее решение: заново определить, что нужно пользователям, и создать приложение “с нуля”.

Приложения-утилиты

Никто и никогда еще не был полностью доволен используемым процессором элек­ тронных таблиц. И какой бы хорошей ни была программа Excel, в ней все равно находят недостатки. Поэтому перейдем к следующей категории электронных таблиц — утили­ там. Это специальные инструменты, которые предназначены для выполнения единст­ венной повторяющейся задачи. Например, если вы часто импортируете текст в Excel, то вам, возможно, требуются специальные команды для обработки текста, в частности для преобразования (без использования формул) выделенного текста в верхний регистр. В данном случае рекомендуется разработать утилиту для обработки текста, которая бу­ дет выполнять необходимые задачи.

Примечание

Power Utility Рак — это коллекция приложений/утилит для программы Excel. Они разработаны для того, чтобы расширить функциональность программы. Эти утилиты работают, как обычные команды Excel. Пробную версию пакета Power Utility Рак можно загрузить с веб-сайта автора книги (w w w . s p re a d - s h e e t p a g e . com). Желающие могут также получить полный исходный код за небольшую плату.

Глава 5. Приложения электронных таблиц

133

По своей природе приложения-утилиты являются достаточно универсальными. Что касается макросов, то многие из них предназначены для того, чтобы выполнять конкрет­ ную операцию с данными конкретного типа, расположенными в рабочей книге, опять же, конкретного типа. Эффективное приложение-утилита работает так, как обычная команда Excel. Другими словами, утилите необходимо распознать контекст, в котором должна выполняться команда, и выполнить соответствующее действие. Чтобы утилита была в состоянии обрабатывать любые возможные ситуации, обычно используется громоздкий код, предназначенный для обработки ошибок.

В приложениях-утилитах всегда используются макросы; в них также могут приме­ няться пользовательские диалоговые окна. Создать такие утилиты с помощью Excel до­ вольно легко: их следует преобразовать в надстройки и присоединить к пользователь­ скому интерфейсу Excel, чтобы эти утилиты выглядели, как часть программы.

Перекрестная ссылка

Вопросы разработки утилит очень важны, поэтому их рассмотрению посвя­ щена целая глава. В главе 16 рассматриваются методы создания пользова­ тельских утилит Excel средствами VBA.

Надстройки с функциями рабочих листов

Программа Excel располагает огромным количеством функций рабочих листов, кото­ рые можно использовать в формулах. Однако в некоторых случаях необходима определен­ ная функция, а ее поиски дают отрицательный результат. Для этого создайте собственную функцию, используя VBA. Благодаря пользовательским функциям рабочих листов форму­ лы часто становятся проще, а поддерживать электронные таблицы оказывается легче.

Перекрестная ссылка

В главе 10 описывается процесс создания пользовательских функций рабо­ чего листа, а также приводится множество примеров.

Одноблоковые бюджеты

Под одноблоковым бюджетом подразумевается рабочий лист (не обязательно мо­ дель бюджета), который состоит из одного блока ячеек. Верхняя его строка может быть составлена из имен, относящихся к промежуткам времени (месяцам, кварталам или го­ дам), а левый столбец обычно состоит из категорий определенного типа. Как правило, нижняя строка и правый столбец составлены из итоговых формул. В блоке ячеек могут использоваться формулы подсчета промежуточных итогов.

Данный тип электронных таблиц очень распространен. С учетом как раз этой модели была разработана программа VisiCalc (первый процессор электронных таблиц). В боль­ шинстве случаев простые модели одноблоковых бюджетов не являются удачными кан­ дидатами в приложения, так как они слишком просты. Впрочем, существуют исключе­ ния. Например, можно было бы преобразовать такую электронную таблицу в прило­ жение, если бы моделью одноблокового бюджета являлась громоздкая трехмерная электронная таблица, в которую необходимо включить сводные данные из других фай­ лов или которой будут пользоваться руководители отделов, возможно, не разбирающие­ ся в электронных таблицах.