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



         

Разработка приложений с помощью Excel 97 и VBA - часть 5


Dim Path$, Filename$

‘ формирование коллекции Files - описаний компонентов

If FileType$ <> “” Then ‘ задан компонент

‘ выделение имени файла из полного

Call FileNameTest(FileN$, Path$, Filename$)

‘ добавить описание компонента (проект, тип, имя

‘ файла) в коллекцию Files

Files.Add Array(Project$, FileType$, Filename$), txt$

End If

End Sub

Мы будем писать код процедур по принципу “сверху-вниз” — классического метода структурного программирования — от высокого уровня компонентов к более низкому. Правильность такого подхода уже давно доказана — необходимо думать хотя бы о коллегах-разработчиках, которые будут потом разбираться в наших программах, корректировать их или использовать в своих проектах. Но, двигаясь “сверху-вниз”, нужно всегда помнить о готовых компонентах нижнего уровня, которые будут составлять в значительной мере основу приложения.

ШАГ 2. Первой напишем процедуру CreateVBProjCrossRef, которая является головной для всего нашего приложения. Она сначала устанавливает заголовки, которые будут использоваться в исходной, а потом и в сводной таблицах. Затем она обращается к функции LoadProjectFile, в которой формируется исходная таблица компонентов приложений. Если функция возвращает значение True (Истина), то это означает, что такая таблица была создана хотя бы для одного проекта. В этом случае вызывается подпрограмма, которая строит сводную таблицу.

ШАГ 3. Процедура SetUpHeadings использует объект Selection активной в данный момент электронной таблицы, чтобы присвоить названия столбцов. Обратите внимание, что метод Offset применяется для смещения вправо при заполнении заголовков для второго и третьего столбцов, а также для выделения ячейки в первом столбце первого ряда, располагающегося под заголовками.

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




Содержание  Назад  Вперед