AW: Schleife um Makro ?
IngoG
Hallo Peter,
hab vor kurzem ein ähnliches Problem gehabt und es folgendermaßen gelöst:
Sub Kommentar_umsetzen()
Dim arr() As String
Dim icounter As Integer, icountD As Integer
Dim sSource As String, sTarget As String, sTxt As String, sPath As String
Dim bKommentar As Boolean, bKvorhanden As Boolean
sPath = Range("B1").Value
sSource = Range("B2").Value & ".sql"
With Application.FileSearch
.LookIn = sPath
.FileName = sSource
.Execute
If .FoundFiles.Count = 0 Then
MsgBox "keine Dateien im angegebenen Verzeichnis gefunden !!!"
Exit Sub
End If
For icountD = 1 To .FoundFiles.Count
bKvorhanden = False
Close
'ReDim arr(1 To 1) As String
'icounter = 0
ReDim arr(1 To 3) As String
arr(1) = "-- ************************************************************"
arr(2) = "-- Kommentare automatisch umgesetzt von VBA-Programm"
arr(3) = "-- ************************************************************"
icounter = 3
sTarget = .FoundFiles(icountD)
Open sTarget For Input As #1
bKommentar = False
Do Until EOF(1)
Line Input #1, sTxt
If Left(sTxt, 1) = "\" Then
bKvorhanden = True
bKommentar = True
If Len(sTxt) = 1 Then
sTxt = "-- ************************************************************"
Else
sTxt = "-- " & Right(sTxt, Len(sTxt) - 1)
End If
ElseIf Left(sTxt, 1) = "/" Then
bKommentar = False
If Len(sTxt) = 1 Then
sTxt = "-- ************************************************************"
Else
sTxt = "-- " & Right(sTxt, Len(sTxt) - 1)
End If
ElseIf bKommentar Then
sTxt = "-- " & sTxt
End If
icounter = icounter + 1
ReDim Preserve arr(1 To icounter) As String
arr(icounter) = sTxt
Loop
Close
If bKvorhanden Then
Open sTarget For Output As #1
For icounter = 1 To UBound(arr)
Print #1, arr(icounter)
Next icounter
Close
ThisWorkbook.Sheets("tabelle1").Range("b65536").End(xlUp).Offset(1, 0) = sTarget
End If
Next icountD
End With
On Error GoTo Errorhandler
Shell "notepad " & sTarget, vbMaximizedFocus
Exit Sub
Errorhandler:
MsgBox "Job erledigt"
End Sub
hierbei werden alle sql-files im angegebenen Pfad (hinterlegt in b1), deren Name dem angegebenen Muster entsprechen (hinterlegt in b2, zB datei* öffnet alle sql-Dateien im angegebenen Verzeichnis, die mit "Datei" anfangen) geöffnet und die Kommentarzeilen aus einem alten Format in ein Neues Format umgesetzt...
Vielleicht hilft Dir das ja weiter
Gruß Ingo
PS eine Rückmeldung wäre nett...