Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1228to1232
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

mit DIR werden keine Dateien erkannt

mit DIR werden keine Dateien erkannt
Peter
Guten Tag
Ich erhalte mit
strFile = Dir(strExpPfad & ".xls")
keine Filenamen in strFile.
strExpPfad enthält den korrekten Pfadnamen (vollständiger Pfad: G:\ ...................PS_Tests\)
Im Ordner PS_Tests hat es eine Menge *.xls" Files (*.xls wird auch angezeigt).
Das Problem tritt sowohl in der Office 2000 Umgebung (mit Excel 2000) als auch in der Office 2010 Umgebung (mit Excel 2010) auf.
Wer hat eine Idee, wo das Problem liegen könnte?
Danke für eine Antwort.
Gruss, Peter
AW: mit DIR werden keine Dateien erkannt
19.09.2011 09:22:09
selli
hallo peter,
strFile = Dir(strExpPfad & "*.xls")
das sternchen sollte auch dabei sein. (siehe hilfe zu DIR)
gruß selli
AW: mit DIR werden keine Dateien erkannt
19.09.2011 09:39:10
Peter
Hallo Seli
Vielen Dank. Jetzt nimmt es jedoch nur die erste Datei - alle anderen werden ignoriert. Wo habe ich noch einen weiteren Fehler?
Gruss, Peter
Option Explicit

Sub Exporte_in_eine_Datei()
Dim strTmpName As String, strExpPfad As String, strExportPfad As String, wkb As Workbook,  _
strFile As String
Dim wkbExp As Workbook
ThisWorkbook.Activate: Calculate
strExpPfad = Range("expPfad") & "\" 'Pfad der Exporte
strExportPfad = Range("datpfad") & "\"  'Pfad, in welcher die Datei "Exporte.xls gespeichert  _
wird
strTmpName = "Exporte.xls"
strFile = Dir(strExpPfad & "*.xls")
If strFile = "" Then
MsgBox "Keine Dateien gefunden!", vbOKOnly, "Gebe bekannt ..."
Exit Sub
End If
'jede Tabelle im angegebenen Pfad öffnen, "Tabelle1" kopieren in eine Tabelle, welche mit dem
'Namen der Datei (ohne Extension .xls) benannt wird
Do While strFile  ""
If wkbExp Is Nothing Then Set wkbExp = Workbooks.Add(1)
Set wkb = Workbooks.Open(strExpPfad & strFile)
wkb.Sheets("Tabelle1").Copy before:=wkbExp.Sheets(1)
wkbExp.Sheets(1).Name = Left(strFile, Len(strFile) - 4)
wkb.Close False
strFile = Dir
Loop
With wkbExp
Application.DisplayAlerts = False
.Sheets(.Sheets.Count).Delete
Application.DisplayAlerts = True
.SaveAs strExportPfad & strTmpName
End With
End Sub

Anzeige
AW: mit DIR werden keine Dateien erkannt
19.09.2011 09:51:05
Dirk
Hallo!
Dir gibt den ersten Dateinamen zurueck, welcher den kriterien entspricht. Falls Du eine Liste aller Dateien haben moechtest, musst du da anders 'rangehen.
Gruss
Dirk aus Dubai
nicht richtig.
19.09.2011 09:54:25
Rudi
Hallo Dirk,
aus der Hilfe:
Die Dir-Funktion gibt den ersten Dateinamen zurück, der mit dem Argument Pfadname übereinstimmt. Weitere mit dem Argument Pfadname übereinstimmende Dateinamen erhalten Sie durch das erneute Aufrufen der Dir-Funktion ohne Angabe von Argumenten.
Was mit strFile = Dir geschieht.
Gruß
Rudi
AW: nicht richtig.
19.09.2011 10:00:50
Dirk
@Rudi
Danke! Wieder was gelertn :-)
Dirk aus Dubai
Anzeige
AW: mit DIR werden keine Dateien erkannt
19.09.2011 09:51:23
Rudi
Hallo,
sind die Dateien alle im gleichen Ordner oder in Unterordnern?
Gruß
Rudi
AW: mit DIR werden keine Dateien erkannt
19.09.2011 10:01:04
Peter
Hallo Rudi
Alle Dateien sind im gleichen Ordner. Es hat zwar ein Subfolder, doch die darin enthaltenen Dateien sollen nicht berücksichtigt werden.
Gruss, Peter
nicht nachvollziehbar. owT
19.09.2011 10:30:38
Rudi
AW: nicht nachvollziehbar. owT
19.09.2011 10:32:10
Peter
Hallo Rudi
Wenn ich den Code in Excel 2010 laufen lasse (Kompatibilitätsmodus), erhalte ich die Fehlermeldung "Laufzeitfehler '5': Ungültiger Prozeduraufruf oder ungültiges Argument bei der Zeile strFile = Dir (vor Loop).
Nach Abspeichern als *.xlsm erfolg die Aufbereitung der datei (jedoch als xlsx) fehlerfrei und alle Tabellen werden berücksichtigt.
Wäre super, wenn das in der Version Excel 2000 auch laufen würde (deshalb lasse ich den Thread noch offen) - doch immerhin in Excel 2010 läufts - und das ist ja die Zukunft ...
Gruss, Peter
Anzeige
AW: nicht nachvollziehbar. owT
20.09.2011 12:39:36
fcs
Hallo Peter,
bei älteren Excel-Versionen (auf jeden Fall 97, 2000 ?) und entsprechend altem Betriebssystem hatte ich Probleme bei der Anwendung von Dir unter VBA in Verbindung mit Dateinamen die mehr als einen Punkt (den der die Erweiterung des Dateinamen trennt) enthalten.
Danach hab ich mir dann angewöhnt, Datumsangaben immer ohne Punkte als Trennzeichen in Dateinamen einzubauen bzw. den Bindestrich als Trennzeichen zu verwenden. z.B 2000-09-01 oder 20000901 statt 01.09.2000. Das hat zusätzlich den Vorteil, dass die Sortierung der Dateinamen besser funktioniert.
Gruß
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige