Hallo Rainer,
*gg* Ich habe mich nur geirrt, das ist doch deutlich mehr, als
ich im ersten Moment dachte.
ja, habe da auch mal darüber so rumgedacht und ein bißchen probiert,
und vom Grundproblem her schon lösbar, aber unheimlich aufwendig alle möglichen Konstellationen richtig auszulesen, sind zwar nur Strings, aber die Problematiken addieren sich.
Eine ist, daß da eine marode Sub vorliegt, es also gar kein End Sub gibt!?
Oder, in einer Zeile stehen mehrere Anweisungen.
Und dies, das, jenes, das läppert sich aufwandsmäßig.
Mir fallen immer mehr Fallen ein, in die ich da
tapsen kann … Ich habe noch keine Ahnung, wann das
einigermaßen zuverlässig funktioniert. Mir ist gerade
eingefallen, daß ich Kommentare ja auch berücksichtigen muss
…
Wieso Kommentare? meinst du das Ein/Auskommentieren oder in
Bezug auf Variablenbenutzung?
Auskommentierte Zeilen hatte ich gemeint. Steht da eine
Deklaration, muss ich die ignorieren.
Scheint einfach, aber was wenn das Hochkomma irgendwo in der Zeile steht.
Oder auch, Ralf hat „Rem“ benutzt.
Oder auch, gibt ja Tools dafür, die CodeZeilen wurden nummeriert,
da sieht man mit If left(x,1)="’" then schlecht aus.
Mir fielen Variablenproblematiken mit globalen Variablen ein,
dazu DefType, Enum usw.
Dann die Abarten von Dim wie Public Static usw.
Redim nicht zu vergessen, sowie const.
Ja. Und die Variablen im Kopf der Prozedur oder Funktion. Das
alte ‚Global‘ darf man auch noch verwenden. 
Jaaaaa, ich fand gleich ein WE als sehr knapp eingeschätzt 
Und wenn der untersuchende Code mit Passwort geschützt ist,
muss ja das Passwort gefunden werden, gelöscht, der Code nach
unbenutzten Variablen durchsucht und das Passwort wieder
gesetzt werden.
Passwortgeschützter Code?
Ja, in VBA, im Editor Rechtsklick auf das Projekt, irgednwo da unter Eigenschaften–Schutz kann man es schützen, also der Code ist dann nicht sichtbar.
Naja, MS-Schutz, mit einem Editor hast das binnen ner Minute oder 2 beseitigt.
Der Code dafür, grad für Excel2007 würde mich schon sehr stark
interesssieren
)
Ich versuche mich erst mal an VB6. 
Schad 
Btw. ich habe Code um den Code aller Module in Excel
auszulesen.
Ungetestet sage ich mal, für Word,Access müßte das rel. leicht
umzuändern sein.
Dann hätte mal schon alles als Array in einer
String-Variablen.
Interesse?
Noch nicht. Lass mich erst mal mit VB6 voran kommen.
Mir wurscht, habe alten Code ausgepackt, damit experimiert und kam auf was schnelles schlankes um Module auszulesen, was ich vorher noch nicht hatte.
Steht im Anhang.
Kennst du dich mit #If aus? Ich kann zwar mit
#If VBA60=0
ermitteln ob Excel 97 oder höher vorliegt, das klappt,
aber wie bekomme ich heraus ob ein Code in Word oder Excel gestartet wird um dementsprechend kompilieren zu lassen
„Word“ bzw. „Excel“ wird bei Eingabe „erkannt“, also aus excel wird Excel, also muß es eine bekannte Konstante sein, aber ich kanns nicht auswerten, egal mit Excel=0, Excel is empty o.ä.
Ich denke, du siehst in den Codes besser was ich meine *gg*
Bisher
habe ich noch nicht mal die Liste der verwendeten Variablen
innerhalb einer Form.
Ja und, das war Samstag 
An das ganze Projekt ist noch nicht zu
denken und die Auswertung habe ich noch gar nicht angefangen.
-) Erst wenn ich das fertig habe denke ich mal über VBA nach.
Nix da, Sonntag 23:59 ist Abgabetermin … *lächel*
Gruß
Reinhard
Option Explicit
'#If Not Word Is Empty Then
’ Const g = „ja“
'#Else
’ Const g = „nein“
'#End If
’
Sub Module3() 'für Word
' verweis auf MS Visual basic for application extensibility setzen
' bei XL97 nicht Version 5.3 nehmen!, Bei Word97 doch 5.3 !?
Dim N As Long, VBComp As VBComponent, Dok As Document
'Set Dok = Documents("Normal.dot") 'klappt nicht, ungültiger Name ?
Set Dok = ThisDocument
'Set Dok = ActiveDocument
With Dok.VBProject.VBComponents
ReDim Satz(.Count - 1) As String
For N = 1 To .Count
Satz(N - 1) = .Item(N).CodeModule.Lines(1, .Item(N).CodeModule.CountOfLines)
Satz(N - 1) = .Item(N).Name & vbLf & Satz(N - 1)
Next N
End With
For N = 0 To UBound(Satz)
MsgBox Satz(N)
Next N
End Sub
'
Sub Module3() 'für Excel
' verweis auf MS Visual basic for application extensibility setzen
' bei XL97 nicht Version 5.3 nehmen!
Dim N As Long, VBComp As VBComponent, Wkb As Workbook
Set Wkb = Workbooks("PERSONL.XLS")
With Wkb.VBProject.VBComponents
ReDim Satz(.Count - 1) As String
For N = 1 To .Count
Satz(N - 1) = .Item(N).CodeModule.Lines(1, .Item(N).CodeModule.CountOfLines)
Satz(N - 1) = .Item(N).Name & vbLf & Satz(N - 1)
Next N
End With
End Sub