ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.03.2025

Просмотров: 176

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лекция 5. Объектная модель vba

  1. Разработка приложений

    1. Этапы разработки приложения

  1. Определение потребностей пользователя – постановка задачи.

  2. Проектирование приложения, удовлетворяющего заданным условиям.

  3. Разработка интерфейса.

  4. Разработка приложения.

  5. Тестирование и отладка.

  6. Разработка документации и справочной системы.

  7. Установка приложения.

  8. Обновление приложения в случае необходимости.

    1. Определение потребностей пользователя

При разработке проекта приложения электронных таблиц, как, впрочем, и любого приложения, первым действием является точное определение потребностей конечного пользователя. И если вы не сможете заранее оценить эти потребности, то позднее это обернётся дополнительной работой по устранению недостатков. Желательно обсуждать детали реализации будущего приложения не только с руководителем фирмы или подразделения, для которого разрабатывается приложение, но и непосредственно с потенциальными пользователями приложения.

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

    1. Проектирование приложения

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

  • Файловая структура.Приложение может использовать одну рабочую книгу с несколькими листами, несколько однолистных рабочих книг, файла шаблона.

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

  • Формулы или VBA?Обдумайте, что требуется для вычислений – формулы или процедуры VBA. И тот, и другой способ имеют достоинства и недостатки. В реальном приложении скорее всего часть вычислений будет производиться с помощью формул, а другая часть – с помощью процедур VBA.

  • Надстройка или файл рабочей книги.Надстройкойназывается программа, внедрённая в приложениеMicrosoftExcelс целью расширения функциональных возможностей приложения.

  • Обработка ошибок.Всегда возможно возникновение такой ситуации, когда результат не может быть вычислен, или некоторое действие не может быть выполнено, по тем или иным причинам. Например, если приложение применяет форматирование к активному рабочему листу, а активным окажется лист диаграммы, это приведёт к невозможности выполнить необходимое форматирование. Проверка ошибочных состояний повышает надёжность и эргономичность приложения.

  • Использование специальных возможностей.Продумайте использование таких возмож­ностей приложенияMicrosoftExcel, как проверка данных, сводные таблицы, анализ данных.

  • Вопросы производительности.Если приложение быстро выполняется на суперсовременном компьютере, это не значит, что также быстро оно будет выполняться на любом другом компьютере. Кроме того, большие приложения могут долго выполняться и на современных компьютерах. Существуют средства увеличения производительности VBA-приложения.

  • Уровень безопасности.ПриложениеMicrosoftExcelимеет ряд средств защиты, которые призваны предотвратить доступ к элементам рабочей книги. Хотя, как мы уже говорили, эти средства не являются абсолютно надёжными, их использование позволит повысить уровень безопасности разрабатываемого приложения.


Хорошо спроектированное приложение проще кодировать, отлаживать и модифициро­вать. Дальнейшая разработка приложения занимает меньше времени и требует меньше усилий.


    1. Разработка интерфейса

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

  • использование элементов ленты;

  • использование контекстных меню, которые могут быть изменены с помощью VBA;

  • использование комбинаций клавиш (комбинация клавиш, назначаемая макросу, имеет больший приоритет, чем встроенные комбинации клавиш);

  • использование пользовательских диалоговых форм;

  • размещение элементов управления непосредственно на рабочем листе.

Хороший внешний вид приложения говорит о том, что разработчик заботился о своём продукте. В процессе разработки пользовательского интерфейса следует выполнять следующие рекомендации.

  • Добивайтесь единообразия.Разрабатывая, например, диалоговые окна, старайтесь по возможности следовать внешнему виду диалоговых окон приложенияMicrosoftExcel. Соблюдайте единообразие в формате, шрифтах, размере текста, цветах.

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

  • Разбивайте окна ввода.Не следует пытаться выдать всю информацию сразу. Лучше разбить её на логически сгруппированные части.

  • Не переусердствуйте с цветом.Люди воспринимают один и тот же цвет по-разному, поэтому яркие цвета могут раздражать. Лучше использовать нейтральные цвета.

  • Отслеживайте шрифты и графику.Уделите внимание числовым форматам, шрифтам, границам ячеек.

    1. Разработка приложения

Трудно дать какие-либо рекомендации по этому пункту, т.к. разработка разных приложе­ний требует разных методов. В этом деле может помочь только опыт, опыт и ещё раз опыт.

    1. Тестирование и отладка

Тестирование и отладка – самый важный и один из самых трудоёмких этапов разработки приложения. Под тестированиембудем понимать ввод тестовых исходных данных и сравнение полученных результатов с тестовыми для определения факта наличия/отсутствия ошибок в программе. Подотладкойбудем понимать поиск местонахождения ошибок и их устранение.


Для тестирования необходимо разработать ряд наборов исходных данных и соответствующих им результатов. Затем эти исходные данные вводятся в приложение, и полученные результаты сравниваются с «запланированными». В случае расхождения необходимо найти ошибку, которая приводит к этому расхождению.

Чем больше различных наборов исходных данных вы используете для тестирования, тем меньше будет вероятность того, что в приложении остались ошибки. Хотя, надо сказать, такая вероятность для сложных приложений никогда не бывает равной 0. Разрабатывая наборы тестовых данных, необходимо рассматривать не только случаи корректных исходных данных, но также и некорректных – причём, наборы некорректных исходных данных надо разрабатывать не менее тщательно.

    1. Разработка документации и справочной системы

Только самые простые программы могут позволить себе обойтись без сопроводительной документации. Серьёзное приложение должно иметь два вида документации: документацию разработчика, т.е. описание средств, использованных при разработке, для того, чтобы вы сами или кто-то другой могли при необходимости модифицировать приложение, и документацию пользователя (справочную систему), которая поможет пользователю освоить приложение в полной мере.


    1. Установка приложения

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

    1. Обновление приложения

Жизнь не стоит на месте, поэтому после разработки приложения, даже полностью соответствующего начальной спецификации, может потребоваться модификация приложения, добавление в него новых функций. Этап обновления приложения выявляет все ошибки и недочёты, допущенные на стадии проектирования приложения.

  1. Объектно-ориентированное программирование

Современное программирование – это, прежде всего, объектно-ориентированное программирование, которое подразумевает создание и обработку программных конструкций, соответствующих предметам реального мира. В объектно-ориентированной программе обычно создаётсякласс– обобщенное описание некоторого предмета, затем создаютсяобъектыэтого класса, и программа работает с этими объектами. Например, существует классWorkbook, который описывает рабочую книгу приложенияMicrosoftExcelвообще – её характеристики (имя, формат файла, использование системы дат 1904 года, рабочие листы книги, стили рабочей книги и т.д.), действия, которые можно выполнить над книгой, (открыть, закрыть, сохранить, сохранить под другим именем и т.д.) и события, которые могут происходить в книге, (открытие, добавление листа, изменение листа и т.д.). Затем мы создаём рабочую книгу, которая называется, например,Моя рабочая книга № 1245. Теперь этот конкретный объект имеет конкретное имя, конкретный формат, определённое количество листов и т.д.

Объектно-ориентированное программирование подразумевает в первую очередь разработку классов, но это сложная задача, которой мы пока заниматься не будем. Но программи­рование на языке VBA не возможно без понимания сути объектно-ориентированного программи­рования, т.к. язык VBA управляет объектами, которые существуют в том или ином приложении (Word,Excel,Access,PowerPoint). Каждое приложение имеет свой набор объектов. Единственный совпадающий объект – это объектApplication, описывающий собственно приложение.