Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Разработка приложений - с помощью Excel 97 и VBA
<<-[Весь Текст]
Страница: из 7
 <<-
 
Do While Not EOF(FileNum%)
Input #FileNum, txt$
txt$ = LCase(txt$)
Select Case ParseString(txt$, “.”, 2)
Case “frm”: FileType$ = “Форма”
Case “bas”: FileType$ = “Модуль”
Case “vbx”: FileType$ = “Элемент управления”
Case Else: FileType$ = “”
End Select
‘добавить описание компонента в список Files
Call FilesAdd(Files, Project$, FileType$, txt$, txt$)
Loop
End Sub
Private Sub LoadVBP(FileNum%, Project$, Files)
Dim txt$, itm$, FileN$, FileType$
‘ выборка описаний компонентов из VBP-файла (VB4 и выше)
‘ и формирование коллекции Files
Do While Not EOF(FileNum%)
Input #FileNum, txt$
itm$ = ParseString(txt$, “=”, 1)
txt$ = LCase(ParseString(txt$, “=”, 2))
‘ определение имени FileN$ и типа файла FileType$
Select Case itm$
Case “Object”: FileType$ = “Элемент управления”
FileN$ = ParseString(txt$, “;”, 2)
Case “Reference”: FileType$ = “Ссылка”
FileN$ = ParseString(txt$, “#”, 4)
Case “Module”: FileType$ = “Форма”
FileN$ = ParseString(txt$, “;”, 2)
Case “Form”: FileType$ = “Модуль”: FileN$ = txt$
Case Else: FileType$ = “”
End Select
‘добавить описание компонента в список Files
Call FilesAdd(Files, Project$, FileType$, FileN$, txt$)
Loop
End Sub
Sub CreatePivotTable()
‘ Формирование сводной таблицы
‘
‘ Эта процедура создана с помощью режима записи
‘ макрокоманды в ходе работы с Мастером создания
‘ сводных таблиц. В полученном при этом программном коде
‘ мы добавили такие две строки:
Selection.Offset(-1, 0).Select
Selection.CurrentRegion.Select
‘ и изменили аргумент SourceData в этом операторе:
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, _
SourceData:=Selection, TableDestination:=””, _
TableName:=”PivotTable1"
‘ Следующие операторы остались без изменений:
ActiveSheet.PivotTables(“PivotTable1”).AddFields _
RowFields:=Array(“Тип”, “Файл”), ColumnFields:=”Проект”
ActiveSheet.PivotTables(“PivotTable1”). _
PivotFields(“файл”).Orientation = xlDataField
End Sub
Private Sub FilesAdd(Files, Project$, FileType$, FileN$, txt$)
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 (Истина), то это означает, 
что такая таблица была создана хотя бы для одного проекта. В этом случае 
 
<<-[Весь Текст]
Страница: из 7
 <<-