People Ignore Design That Ignores People

People Ignore Design That Ignores People

'---------------------------------------------------------------------------------------
' Module    : modFPVBADocumentator
' DateTime  : 06.01.2008 22:23
' Author    : Burkhard Schlutt
' Purpose   : Modul zur komplexen Dokumentation des Frontpage-VBA-Codes
'---------------------------------------------------------------------------------------
Option Explicit
'Diese Konstante kann bei Auslieferung entfernt werden
'Verzeichnis wird automatisch ermittelt
'Const Arbeitsverzeichnis = "H:\Eigene Dateien\Burkhard\frontpage\Dokumentator\"
Const HauptDatei = "Dokumentator.txt" 'Dokumentator-Hauptdatei
Const Trennzeile = _
    "---------------------------------------------------------------------------"

'---------------------------------------------------------------------------------------
' Procedure : Dokumentator
' DateTime  : 06.01.2008 22:24
' Author    : Burkhard Schlutt
' Purpose   : Die Hauptfunktion des Frontpage-VBA-Dokumentators
'---------------------------------------------------------------------------------------
'
Sub Dokumentator()
  Dim myapp As Application
  Dim myVBE As VBE
  Dim myVBProj As VBProject
  Dim myComp As VBComponent
  Dim myRef As Object
  Dim Pfad As String
  Dim langname As String
  Pfad = Arbeitsverzeichnis
  langname = Pfad & HauptDatei
  Set myapp = Application
  Set myVBE = myapp.VBE
  Set myVBProj = myVBE.ActiveVBProject
  'Docomentator-Hauptdatei schreiben
  'Basisinformationen
  Open langname For Output As #1
  Print #1, Trennzeile
  Print #1, "Dokumentation des VBE-Objektes aus Frontpage"
  Print #1, Trennzeile
  Print #1, Trennzeile
  Print #1, "Projektname" & vbTab & myVBE.ActiveVBProject.Name
  Print #1, "Speicherort" & vbTab & myVBProj.FileName
  Print #1, "Anzahl der Verweise" & vbTab & myVBProj.References.Count
  Print #1, "Anzahl der Komponenten" & vbTab & myVBE.CodePanes.Count
  Print #1, Trennzeile
  Print #1, Trennzeile
  Print #1, "Verweise (Name, Beschreibung, Datei)"
  Print #1, Trennzeile
  'Referenzierte Dateien auflisten
  For Each myRef In myVBProj.References
    Print #1, myRef.Name & vbTab & myRef.Description
    Print #1, myRef.FullPath
    Print #1, Trennzeile
  Next
  Print #1, Trennzeile
  Print #1, Trennzeile
  Print #1, "Typ und Namen der Componenten, Anzahl der Zeilen"
  Print #1, Trennzeile
  'Komponenten in Hauptdatei auflisten und als Datei speichern
  For Each myComp In myVBProj.VBComponents
    Select Case myComp.Type
      Case 1
        Print #1, myComp.Type; "Modul ", , myComp.Name, " Anzahl Zeilen: ", myComp.CodeModule.CountOfLines
      Case 2
        Print #1, myComp.Type; "Klassenmodul", myComp.Name, " Anzahl Zeilen: ", myComp.CodeModule.CountOfLines
      Case 3
        Print #1, myComp.Type; "Formular", , myComp.Name, " Anzahl Zeilen: ", myComp.CodeModule.CountOfLines
    End Select
    Select Case myComp.Type
      Case 1
        myComp.Export (Pfad & myComp.Name & ".bas")
      Case 2
        myComp.Export (Pfad & myComp.Name & ".cls")
      Case 3
        myComp.Export (Pfad & myComp.Name & ".frm")
    End Select
      Call Parse_Code2HTML(myComp.CodeModule, myComp.Name, Pfad & myComp.Name & ".htm")
  Next
  Print #1, Trennzeile
  Close #1
End Sub
Function
Arbeitsverzeichnis() Dim myFSO As FileSystemObject Dim Zielpfad As String Dim text As String Dim tmpStr As String 'damit Funktion nicht mehrfach aufgerufen werden muss tmpStr = Ordner_Eigenedateien Zielpfad = tmpStr & "\Frontpage\Dokumentator\" Set myFSO = CreateObject("Scripting.FileSystemObject") If myFSO.FolderExists(Zielpfad) Then ' kein Code wenn existiert ' MsgBox "Das Verzeichnis" & vbCrLf & Zielpfad & vbCrLf & "existiert bereits." _ ' & vbCrLf & "Hier werden alle Daten des Dokumentators gespeichert" Else If myFSO.FolderExists(tmpStr & "\Frontpage") Then myFSO.CreateFolder (Zielpfad) Else myFSO.CreateFolder (tmpStr & "\Frontpage") myFSO.CreateFolder (Zielpfad) End If MsgBox "Das Verzeichnis" & vbCrLf & Zielpfad & vbCrLf & "wurde angelegt." & _ vbCrLf & "Hier werden alle Daten des Dokumentators gespeichert" End If Arbeitsverzeichnis = Zielpfad End Function

Ratgeber Paint.Net Kostenlose Flashtools Skywalk Webdesign Gleimstraße 50 iMacro Impressum & Kontakt