Ðàçðàáîòêà ïðèëîæåíèé


         

áûë âûáðàí õîòÿ áû îäèí


Ëèñòèíã 3. Òåêñò ìîäóëÿ êîäà PivotVBP.

Attribute VB_Name = “PivotVBP”

Option Explicit

Sub CreateVBProjCrossRef()

‘óñòàíîâêà çàãîëîâêîâ òàáëèöû

SetUpHeadings

‘ LoadProjectFile ôîðìèðóåò èñõîäíóþ

‘ òàáëèöó êîìïîíåíòîâ è âîçâðàùàåò ðåçóëüòàò

If LoadProjectFile Then ‘åñòü õîòÿ áû îäèí ïðîåêò

‘ôîðìèðîâàíèå ñâîäíîé òàáëèöû

CreatePivotTable

End If

End Sub

Sub SetUpHeadings()

Selection = “Ïðîåêò”

Selection.Offset(0, 1) = “Òèï”

Selection.Offset(0, 2) = “Ôàéë”

Selection.Offset(1, 0).Select

End Sub

Function LoadProjectFile() As Boolean

‘ Ôîðìèðîâàíèå â öèêëå èñõîäíîé òàáëèöû

‘ êîìïîíåíòîâ ïðîåêòîâ.

‘ Çíà÷åíèå ôóíêöèè ïðè âûõîäå:

‘ True - áûë âûáðàí õîòÿ áû îäèí ôàéë ïðîåêòà

‘ False - íåò íè îäíîãî ôàéëà

Dim File, FileDet, FileNum%, txt$, Project$

Dim ProjectPath$, Path$

Dim Files As New Collection



LoadProjectFile = False

Do

Set Files = New Collection

‘ âûâîäèò äèàëîãîâîå îêíî äëÿ âûáîðà ôàéëà ïðîåêòà

File = Application.GetOpenFilename( _

FileFilter:=”VB Project Files(*.mak;*.vbp), _

*.mak;*.vbp”, Title:=”Çàãðóçèòü ôàéë VB-ïðîåêòà”)

‘ åñëè ïîëüçîâàòåëü íàæàë Cancel - âûõîä èç ïðîöåäóðû

If File = False Then Exit Do



ProjectPath$ = File

Call FileNameTest(ProjectPath$, Path$, Project$)

FileNum% = FreeFile

Open File For Input As FileNum%

Input #FileNum%, txt$

‘ îïðåäåëÿåò, êàêîé òèï ôàéëà áûë îòêðûò, à çàòåì

‘ âûçûâàåò ñîîòâåòñòâóþùóþ ïðîöåäóðó

If InStr(txt$, “=”) Then ‘ VBP-ôàéë

Call LoadVBP(FileNum%, Project$, Files)

Else

Seek FileNum%, 1 ‘ MAK-ôàéë

Call LoadMAK(FileNum%, Project$, Files)

End If

‘ ïîìåùàåò èíôîðìàöèþ èç ôàéëà ïðîåêòà â

‘ êîëëåêöèþ Files, à çàòåì èç êîëëåêöèè Files

‘ â ýëåêòðîííóþ òàáëèöó

For Each File In Files

For Each FileDet In File

Selection = FileDet

Selection.Offset(0, 1).Select

Next

Selection.Offset(1, -3).Select

Next

LoadProjectFile = True

Loop

End Function

Private Sub LoadMAK(FileNum%, Project$, Files)

Dim txt$, FileType$

‘ âûáîðêà îïèñàíèé êîìïîíåíòîâ èç MAK-ôàéëà

‘ (äî VB3 âêëþ÷èòåëüíî) è ôîðìèðîâàíèå êîëëåêöèè Files


Ñîäåðæàíèå  Íàçàä  Âïåðåä