Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1600to1604
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
Inhaltsverzeichnis

Dateien mit der bestimmte Dateiendung auflisten?

Dateien mit der bestimmte Dateiendung auflisten?
06.01.2018 21:08:54
Sergej
Hallo Leute,
ich möchte alle Dateien mit der Dateiendung *.cfg, die im Verzeichnis C:\Daten\Konfigurationen\ liegen in einer TXT-Datei (Spiecherort P:\Export\Alle_CFG.txt) nach Möglichkeit alphabetisch incl. dem Pfad (Bsp. C:\Daten\Konfigurationen\608804090 ATX.cfg) auslisten. Die Liste enthält ca. 200 Zeilen der Dateien mit der Dateiendung *.cfg haben.
Zusätzlich sollen in separaten TXT-Dateien (CFG-01.txt, CFG-02.txt, CFG-03.txt usw.) jeweils 15 CFG-Dateien aus dem Verzeichnis C:\Daten\Konfigurationen\ aufgelistet werden.
Wie mache ich das bitte per VBA?
Danke im Voraus!
Beste Grüße,
Sergej

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien mit der bestimmte Dateiendung auflisten?
07.01.2018 07:52:06
Werner
Hallo Sergej,
leg mal eine neue Mappe an mit einem einzelnen Tabellenblatt. Das Tabellenblatt benennst du bitte in "Alle-CFG" um.
Den angefügten Code in ein allgemeines Modul, Schaltfläche aufs Tabellenblatt und der Schaltfläche den Code zuweisen. Dann teste mal.
Option Explicit
Sub Verzeichnis_auslesen()
Dim strQuellOrdner As String, strZielOrdner As String
Dim strDatei As String, i As Long, n As Long
Dim boVorhanden As Boolean
i = 1: n = 1
strQuellOrdner = "C:\Daten\Konfigurationen\"
'strZielOrdner = "P:\Export\"
strDatei = Dir(strQuellOrdner & "*.*")
Application.ScreenUpdating = False
With Worksheets("Alle-CFG")
Do While strDatei  ""
If LCase(strDatei) Like "*.cfg" Then
Range("A" & i) = strQuellOrdner & "\" & strDatei
boVorhanden = True
i = i + 1
End If
strDatei = Dir
Loop
If boVorhanden Then
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 1 To loLetzte Step 15
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "CFG-" & Format(n, "000")
.Range(.Cells(i, 1), .Cells(i + 14, 1)).Copy
ActiveSheet.Range ("A1")
n = n + 1
Next i
Else
MsgBox "Keine CFG-Dateien im Ordner vorhanden."
End If
.Activate
End With
Application.ScreenUpdating = True
End Sub
Beim derzeitigen Stand werden die entsprechenden Daten aus dem Verzeichnis ausgelesen und im Tabellenblatt "Alle-CFG" gelistet. Danach werden die Daten in 15er Blöcke gesplittet, für jeden Block wird ein Tabellenblatt mit dem entsprechenden Namen angelegt und die Daten reinkopiert.
Das Exportieren habe ich im Moment noch nicht drin. Da müsste man einfach in einer Schleife über die erzeugten Tabelleblätter und die dann jweils als Textdatei im Zielverzeichnis speichern.
Sortiert müsste die Auflistung eigentlich automatisch sein, da sie im Verzeichnis ja sortiert vorhanden sind.
Gruß Werner
Anzeige
AW: Dateien mit der bestimmte Dateiendung auflisten?
07.01.2018 15:46:59
Sergej
Hallo Werner,
ich habe es getestet. Im Arbeitsblatt "Alle-CFG" werden auch tatsächlich alle CFG-Dateien aufgelistet.
Das Makro bleibt dann in nächsten Step hier stehen: ActiveSheet.Range ("A1").
Eigentlich wollte ich aus dem Excel heraus, nur die TTX-Dateien (Alle_CFG.txt, sowie einzelnen Dateien CFG-...txt) im strZielOrdner speichern.
Beste Grüße,
Sergej
AW: Dateien mit der bestimmte Dateiendung auflisten?
07.01.2018 19:37:00
Werner
Hallo Sergej,
sorry, mein Fehler. Da ist mir beim Kopieren irgendwie der Unterstrich für den Zeilenumbruch im Code verloren gegangen.
Das muss so aussehen:
.Range(.Cells(i, 1), .Cells(i + 14, 1)).Copy _
ActiveSheet.Range("A1")
Das mit dem Abspeichern der einzelnen Listen ist mir schon klar, ich hatte ja schon geschrieben, dass das noch nicht mit im Code drin ist. Das würde ich dann erst noch machen. War bis hier her nur mal für dich zum Testen, ob es so passt.
Gruß Werner
Anzeige
AW: Dateien mit der bestimmte Dateiendung auflisten?
07.01.2018 22:55:44
Sergej
Hallo Werner,
ich habe folgendes noch gemacht:
... ergänzt: Dim loLetzte As String
... gelöscht: ein "\" zu viel
Danach hat es einwandfrei funktioniert. Vielen Dank!!!!
Das Ganze lässt sich jetzt ohne vorheriges Schreiben in Excel direkt in TXT-Dateien schreiben?
Beste Grüße,
Sergej
AW: Dateien mit der bestimmte Dateiendung auflisten?
07.01.2018 23:04:21
Werner
Hallo Sergej,
das hier ist falsch
Dim loLetzte As String

loLetzte ist die Variable für die letzte belegte Zelle (Zeile). Und das ist eine Ganzzahl. Die Variable muss deshalb als Long dimensioniert werden.
Für das Speichern der Daten muss ich dich auf morgen vertrösten. Ich habe im Moment Nachtdienst und setzt mich dann morgen Nachmittag nochmal dran.
Gruß Werner
Anzeige
AW: Dateien mit der bestimmte Dateiendung auflisten?
08.01.2018 16:48:16
Werner
Hallo Sergej,
teste mal.
Die Daten werden aus dem Quellordner eingelesen, in die entsprechenden Zielordner gespeichert, als Textdateien. Am Schluss werden die eingelesenen Daten aus der Excel Datei wieder gelöscht.
https://www.herber.de/bbs/user/118783.xlsm
Gruß Werner
AW: Dateien mit der bestimmte Dateiendung auflisten?
08.01.2018 23:05:51
Sergej
Hallo Werner,
es funktioniert sehr gut! Vielen Dank!
Meine letzte Frage: Lassen sich die TXT-Dateien ohne Exceltabllen / Zwischenschritt direkt erstellen?
Beste Grüße,
Sergej
verstehe die Frage nicht
09.01.2018 10:37:00
Werner
Hallo Sergej,
ich habe keine Ahnung was du damit meinst.
Gruß Werner
Anzeige
AW: verstehe die Frage nicht
09.01.2018 16:27:49
Sergej
Hallo Werner,
die Frage, die ich gestellt habe ist "doof". :-)
Vielen Dank für die Routine. Es funktioniert sehr gut!
Beste Grüße,
Sergej
Gerne u.Danke für die Rückmeldung. o.w.T.
09.01.2018 18:38:37
Werner
AW: Dateien mit der bestimmte Dateiendung auflisten?
07.01.2018 09:13:57
Hajo_Zi
Hallo Sergej,
http://hajo-excel.de/gepackt/vba2007/ordner_auslesen_hyperlink2007.zip

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
AW: Dateien mit der bestimmte Dateiendung auflisten?
07.01.2018 15:50:50
Sergej
Hallo Hajo,
ich kann leider mit der Datei nicht viel anfangen. Vielleicht haben wir uns mißverstanden. Ich suche nach einer Lösung eher in Richtung wie Werner es vorgeschlagen hat. Einfach wie möglich. Trotzdem vielen Dank für deinen Beitrag.
Beste Grüße,
Sergej

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige