Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateiliste

Forumthread: Dateiliste

Dateiliste
23.08.2004 18:09:19
Odin001
Hallo,
ich möchte über eine Userform einen Ordner angeben. Dessen Pfad soll ermittelt werden. Dann möchte ich im Ordner die erste Datei öffnen, mein makro ausführen, die Datei schließen, die nächste Datei öffnen, makro ausführen, schließen usw.
Die Userform existiert schon, funktioniert auch im "Einzelbetrieb". Nur im "Auto"ausführen komme ich nicht weiter. Ich schaffe es nicht, den Ordnerinhalt auszulesen und der Reihe nach die Dateien abzuarbeiten.
Userbild

Die Datei https://www.herber.de/bbs/user/9986.jpg wurde aus Datenschutzgründen gelöscht


Danke, Odin001
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiliste
23.08.2004 18:20:43
Wolfgang
Datei öffnen:
Workbooks.Open "Pfad"
z.B.: C:\MeinOrdner\MeineDatei
dann weiter mit workbook.save & workbook.close
usw.
AW: Dateiliste
Odin001
Danke, aber ich meinte eigentlich das ich über die Schaltfläche "Quellordner angeben" zu einem beliebigen Ordner wechsle und das dessen Dateien nacheinander aufgerufen, bearbeitet, gespeichert und geschlossen werden. Also: "Einmal Button drücken", "Fertig"
Im "Manuell" Modus funktioniert das Ganze, nur das ich jedesmal die Datei aus dem Dialogfeld auswählen muss und jede Option per Hand einstelle (sind mehrere Dutzend gleich strukturierte Dateien)
Mfg, Odin001
Anzeige
AW: Dateiliste
23.08.2004 18:50:58
Wolfgang
ah ok, versuchs in dem Fall mal hiermit:
Set fs = CreateObject("Scripting.FileSystemObject")
Set aFolder = fs.GetFolder("DeinPfad")
For Each aFile In aFolder.Files
aFile.Open
'----Dein Makro
aFile.Save
aFile.Close
Next
Meintest du sowas?
Anzeige
AW: Dateiliste
Odin001
Danke. Musste es noch ein wenig abändern, aber jetzt funktioniert es. Der Ordnerinhalt wird ausgelesen und in eine neue Datei geschrieben. Auf diese kann man ja beliebig zugreifen.
_________________________________________
Dim fso As New FileSystemObject

Private Sub butOrdneroeffnen_Click()
Dim strpath As String
Dim ws As Worksheet
Dim strname As String
Dim anzahlzeilen As Integer
strpath = InputBox("Geben Sie den zu bearbeitenden Pfad an:", _
Default:="C:\Test")
Set fso = CreateObject("Scripting.FileSystemObject")
Set Folder = fso.GetFolder(strpath)
Application.Workbooks.Add
Application.DisplayAlerts = False
For Each ws In Worksheets
k = ActiveWorkbook.Sheets.Count
If k > 1 Then
ws.Delete
Else
ActiveSheet.Name = "Ordnerinhalt"
End If
Next ws
Application.DisplayAlerts = True
With Cells(1, 1)
.Value = "Dateiliste"
End With
For Each File In Folder.Files
anzahlzeilen = Cells(Rows.Count, 1).End(xlUp).Row + 1
With Cells(anzahlzeilen, 1)
.Value = File
End With
Next
End Sub

_____________________________________________
mfg, Odin001
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige