Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
548to552
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
548to552
548to552
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien aus Ordner nacheinander öffnen

Dateien aus Ordner nacheinander öffnen
18.01.2005 12:49:06
OLI
Hallo,
so langsam habe ich mein Makro zusammengeschustert, doch nur für eine Datei. Was jetzt noch klappen sollte...
Ich habe einen Ordner mit vielen Dateien (Dateien haben keine fortlaufende Nummerierung). Das Makro sollte automatisch aus einem fixen Ordner...
1. Erste Datei öffnen (xml)
2. Inhalt einlesen (macht mein bisheriges Makro, allerdings wäre es schön, wenn man auch den aktuellen Dateinamen einlesen könnte?!)
3. Erste Datei schließen
4. Zweite Datei öffnen
...
usw. die Reihenfolge ist dabei nicht so wichtig.
Wäre super, wenn mir jemand auf die Sprünge helfen könnte,
Danke,
OLI

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

Betreff
Datum
Anwender
Anzeige
AW: Dateien aus Ordner nacheinander öffnen
bernd
hallo oli
auf die sprünge
müsste z.B. so gehn:
mit application.filesearch die dateien suchen.
dann in einer schleife mit
for i= 1 to application.filesearch.foundfiles.count
datei(i) öffnen
inhalte einlesen
datei(i) schließen
next
wenn du nicht klar kommst, melde dich ruhig nochmal.
bernd
AW: Dateien aus Ordner nacheinander öffnen
Uduuh
Hallo,
etwa so:
Option Explicit

Sub Read_Files()
Dim strFTyp As String, _
strOrdner As String, _
strSF As Byte, _
strFile As String, _
strName As String, _
FS As FileSearch, _
i As Integer, z As Integer, n As Integer, _
wbkVV As Workbook, _
wshVV As Worksheet, _
wshFiles As Worksheet, _
rngFind As Range, iZähler As Integer
Application.ScreenUpdating = False
strFTyp = "*.xls"
strOrdner = ThisWorkbook.Path
Set FS = Application.FileSearch
With FS
.LookIn = strOrdner
.Filename = "*" & strFTyp
.SearchSubFolders = True
If .Execute > 0 Then
Set wshFiles = Sheets(1)
For i = 1 To .FoundFiles.Count
If .FoundFiles(i) <> ThisWorkbook.Path & "\" & ThisWorkbook.Name Then
n = wshFiles.Cells(65536, 1).End(xlUp).Row + 1
strFile = .FoundFiles(i)
Set wbkVV = Workbooks.Open(Filename:=.FoundFiles(i), IgnoreReadOnlyRecommended:=True)
Set wshVV = wbkVV.Sheets(1)
strName = wbkVV.Name
With wshFiles.Rows(n)
.Cells(1) = wshVV.Range("V5")
.Cells(2) = wshVV.Range("H5")
.Cells(3) = wshVV.Range("A7")
.Cells(4) = wshVV.Range("H10")
.Cells(5) = wshVV.Range("A5")
.Cells(6) = strName
.Cells(7) = strFile
End With
wbkVV.Close False
End If
Next i
End If
End With
wshFiles.Cells.EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub

Gruß aus'm Pott
Udo

Anzeige
AW: Dateien aus Ordner nacheinander öffnen
18.01.2005 13:19:23
Matthias
Hallo dieses Code-beispiel öffnet alle Dateiformate, nicht nur .xls, sondern alle Formate dessen SW auf Deinem PC installiert sind.
Viel Spaß.
Gruß Matthias
Public Declare

Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal lpnShowCmd As Long) As Long
Public 

Function findfiles()
Dim DeinSuchpfad As String
DeinSuchpfad = "Z:\FD_RBG\FD PreProjects\Projectbook\Projectbook Daten"
Set wkb = ActiveWorkbook
With Application.FileSearch
.LookIn = DeinSuchpfad
.SearchSubFolders = 0 'bezieht keine unterordner ein
.Filename = "*.*"
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Call FileOpen(.FoundFiles(i))
Next i
End If
End With
Set wkb = Nothing
End Function

Public

Function FileOpen(ssDatei)
Dim Dateiname As String
Dim dateipfad As String
If ssDatei = False Then
Exit Function
End If
If Right(ssDatei, 3) = "xls" Then
Workbooks.Open Filename:=(ssDatei)
Else
Dateiname = StrReverse(Left((StrReverse(ssDatei)), (InStr(1, (StrReverse(ssDatei)), "\", vbBinaryCompare) - 1)))
dateipfad = StrReverse(Right(StrReverse(ssDatei), (Len(ssDatei) - InStr(1, (StrReverse(ssDatei)), "\", vbBinaryCompare))))
ShellExecute 0, "open", Dateiname, "", dateipfad, 3
End If
End Function

Anzeige
AW: Dateien aus Ordner nacheinander öffnen
OLI
Hallo,
wahnsinn, erstes Mal hier im Forum und gleich so viele Antworten... DANKE!!!
Jetzt muss ich mir das alles in Ruhe anschauen, und versuchen zu verstehen.

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige