PDA

Vollständige Version anzeigen : workbooks nacheinander öffnen


PeterMG
05.07.2006, 13:24
Hallo Forum,

ich möchte aus einem Verzeichnis nacheinander die vorhandenen xls Files öffnen und die darin enthaltenen Werte weiterverarbeiten, dabei funktioniert die hier im Forum beschriebene Möglichkeit:

sFile = Dir(sPath & "*.xls")
Do While sFile <> ""
Workbooks.Open sPath & sFile
sFile = Dir()
loop

nicht. Nach dem Öffnen der files werden weitere Prozeduren aufgerufen.
Bei Bearbeitung der Zeile

"sfile=Dir()"

erfolgt dann die Fehlermeldung:

"Laufzeitfehler 5 - Ungültiger Prozeduraufruf oder ungültiges Argument".

Welche andere Möglichkeit besteht, die xls-files nacheinander abzuarbeiten? Bin für jeden Tip dankbar?

Gruß

Peter

Hajo_Zi
05.07.2006, 13:26
Hallo Peter,


Option Explicit

Sub Dateiliste_Öffnen()
' erstellt von Hajo.Ziplies@web.de
' http://home.media-n.de/ziplies/
' alle Dateien eines Ordners öffnen
Dim strVerzeichnis As String
Dim StrDatei As String
Dim StrTyp As String
Dim Dateiname As String
strVerzeichnis = "D:\Eigene Dateien\Hajo\"
StrTyp = "*.xls"
Dateiname = Dir(strVerzeichnis & StrTyp)
Do While Dateiname <> ""
Workbooks.Open Filename:=strVerzeichnis & Dateiname
' Dein Makro
ActiveWorkbook.Close True
Dateiname = Dir
Loop
End Sub


<img src="http://home.media-n.de/ziplies/images/grusz1.gif" align="middle" height="30" alt="Grußformel"><a href="http://home.media-n.de/ziplies/" target="_blank"><img border="0" src="http://home.media-n.de/ziplies/images/logo_hajo.gif" align="middle" height="30" alt="Homepage"></a>

PeterMG
05.07.2006, 14:17
Hallo Hajo_Zi,

danke für Deine blitzschnelle Antwort. Leider funktioniert auch das nicht. Ist es möglich, dass nach dem Aufruf anderer Modulke/Prozeduren "Dir()" nicht mehr mit dieser Funktionsweise anwendbar ist?

Gibt es auch einen anderen Weg, das Problem zu lösen?

Gruß

Peter

Hajo_Zi
05.07.2006, 14:25
Hallo Peter,

bei mir geht das ohne Probleme.

<a href="http://home.media-n.de/ziplies/" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

PeterMG
05.07.2006, 14:32
Hallo Hajo_Zi

der Unterschied zwischen dem Ablauf bei Dir und bei mir liegt offensichtlich darin, dass meine eingefügten Module/Prozeduren einiges anrichten, was zum Laufzeitfehler führt. Als Newbie kenne ich meine Grenzen und bin kaum in der Lage, die Gründe dafür nachzuvollziehen. Weil aber viele Wege nach Rom führen dachte ich, das Problem liesse sich auch anders lösen (wie z.B. bei worksheets). Da endet aber mein Wissen.

Gruß

Peter :(