Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
400to404
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife um Makro ???

Schleife um Makro ?
peter
Hallo,
Ich möchte gerne eine Schleife um mein Makro "bauen" und zwar soll folgendes passieren.
Es sollen nacheinander Textdateien mit unterschiedlichen Namen aus ein bestimmtes Verzeichnis geöffnet werden, dann wird ein Makro abgespielt und dann soll die Datei in Excel in ein anderes Verzeichnis gespeichert werden.
Das soll sich wiederholen, bis alle Textdateien in dem Verzeichnis bearbeitet wurden.
Kan mir da jemand helfen?
peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
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...
Anzeige
AW: Schleife um Makro ?-Ingo
23.03.2004 15:25:56
peter
Hallo Ingo,
habe das mal versucht in mein Makro zu importieren. Beim abspielen bekomme ich aber einen Laufzeitfehler. Ich kenne mich wirklich nicht sehr gut aus mit Makros schreiben.
Weis nicht genau was ich bei Deinem Makro ändern muss.
Zur Erläuterung:
Die TXT-Dateien sind im Verzeichnis C:\Eigene Dateien
und sollen nach dem Makro als Excel-Datei im Verzeichnis C:\Eigene Dateien\XLS
gespeichert werden.
Ich weis nicht ob Du mir helfen kannst ?
Danke jedenfalls für Deine schnelle Antwort !!!
Gruß
peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige