Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

17.7.3 Löschen von Zeilen

17.7.4 Beispielanwendung: Nummerieren von Codezeilen in einem Modul

Die folgende Routine nummeriert die Zeilen des im Übergabeparameter angegebenen Moduls. Dabei durchläuft sie alle Zeilen des Moduls und prüft, ob sich die aktuelle Zeile innerhalb einer Routine befindet, ob es sich um die erste Zeile einer Select Case-Anweisung handelt und ob die Zeile gegebenenfalls die Fortsetzung einer bestehenden Zeile ist (gekennzeichnet durch den einleitenden Unterstrich). Die Routine können Sie zum Ausprobieren vom Direktfenster aus aufrufen. Das Pendant zum Entnummerieren eines Moduls finden Sie auf der Buch-CD im Modul mdlModulNummerieren der Datenbank \Kap_17\VBAIDE.accdb.

Die Routine findet übrigens auch in dem in Abbildung 17.3 gezeigten Tool Verwendung und ist hier nur so weit angepasst, dass Sie es vom Direktfenster aus aufrufen und dort den Namen des zu nummerierenden Moduls übergeben können. Im Tool öffnen Sie einfach das gewünschte Modul und wählen den Menüeintrag Nummerieren beziehungsweise Entnummerieren aus.

Public Sub Nummerieren(strModulname As String)

    Dim objVBE As VBE
    Dim cdPane As VBIDE.CodePane
    Dim mdl As VBIDE.CodeModule
    Dim bolNummerieren As Boolean
    Dim bolJetztNicht As Boolean
    Dim bolNaechsteNicht As Boolean
    Dim strZeile As String
    Dim i As Integer
    Dim j As Integer

    Entnummerieren strModulname

    Set objVBE = Application.VBE

    j = 1

    Set mdl = objVBE.ActiveVBProject.VBComponents(strModulname).CodeModule

    For i = 1 To mdl.CountOfLines
        strZeile = Trim(mdl.Lines(i, 1))

        If Left(strZeile, 10) = "Public Sub" _
            Or Left(strZeile, 11) = "Private Sub" _
            Or Left(strZeile, 3) = "Sub" _
            Or Left(strZeile, 15) = "Public Function" _
            Or Left(strZeile, 16) = "Private Function" _
            Or Left(strZeile, 8) = "Function" _
            Or Left(strZeile, 15) = "Public Property" _
            Or Left(strZeile, 16) = "Private Property" Then
            bolNummerieren = True
            bolJetztNicht = True
        Else
            bolJetztNicht = False
        End If

        If bolNaechsteNicht = True Then
            bolJetztNicht = True
        End If

        If Left(strZeile, 12) = "End Function" _
            Or Left(strZeile, 7) = "End Sub" _
            Or Left(strZeile, 12) = "End Property" Then
            bolNummerieren = False
            bolJetztNicht = True
        End If

        bolNaechsteNicht = Right(strZeile, 1) = "_" _
            Or Left(strZeile, 11) = "Select Case"

        If bolNummerieren = True And bolJetztNicht = False Then
            mdl.ReplaceLine i, j & "0 " & mdl.Lines(i, 1)
            j = j + 1
        End If

    Next i

End Sub

Listing 17.16: Diese Routine nummeriert die Zeilen eines Moduls

Nächster Abschnitt:

17.8 Toolwindows

© 2006-2008 André Minhorst Alle Rechte vorbehalten.