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

Mehre Dateien nacheinander öffnen und speichern?

Mehre Dateien nacheinander öffnen und speichern?
ralle
Hallo !
Habe diese Frage schon mal gestellt, aber vielleicht könnt ihr mir ja heute helfen, folgendes Problem:
Habe mehrere Makros geschrieben (aufgezeichnet), die alle nacheinander aufgerufen werden per Call Befehl. Dabei wird eine TXT Datei aufgerufen und meinen Wünschen entsprechend formatiert.
Da in dem Verzeichnis mehrere TXT Dateien vorhanden sind (ca. 20 Dateien) wäre es schön wenn ich nun ein Makro vorschalten könnte, so das alle TXT Dateien in dem Verzeichnis nacheinander aufgerufen werden, dann mit meinen vorher aufgezeichneten Makros formatiert wird und dann im XLS Format in einem anderen Verzeichnis abgespeicherrt wird.
Kan mir da jemand helfen, wäre echt nett!!
Gruß und Danke
ralle
AW: Mehre Dateien nacheinander öffnen und speichern?
Christoph
Hi Ralle,
hier mal ein Bsp:
Gruß
Christoph
('ne Rückmeldung wäre nett)
Option Explicit

Sub DateienOeffnen()
Dim TmpDatei As String
Application.ScreenUpdating = False
ChDrive "d"
ChDir "D:\Test"
TmpDatei = Dir("D:\Text\*.txt")
Do While TmpDatei > ""
Workbooks.Open TmpDatei
'hier kannst deinen Code einfügen
'anschließend als xls speichern mit
'ActiveWorkbook.SaveAs Filename:=...., FileFormat:=xlNormal
ActiveWorkbook.Close
TmpDatei = Dir()
Loop
End Sub

AW: Mehre Dateien nacheinander öffnen und speichern?
ralle
Hallo Christoph,
das funktioniert soweit ganz gut, hat nur einen Schönheitsfehler:
Wenn ich das Makro starte, öffnet sich der Explorer um eine Datei auszuwählen, die geöffnet werden soll und dann kommt die Frage ob ich die Datei speichern möchte.
Ist es möglich, das einfach die Datei in dem bestimmmten Verzeichnis geöffnet wird ohne vorherige Frage ob eine Datei öffnen möchte. Auch die Abspeicherung sollte automatisch (ohne Frage ob ich speichern möchte) geschen und zwar dann im XLS Format und nicht im Ausgangs-Format TXT, aber dann in einem anderen Verzeichnis?
Fragen über Fragen, wäre schön wenn Du dazu eine Lösung hättest!
Gruß
ralle
Anzeige
AW: Mehre Dateien nacheinander öffnen und speichern?
Christoph
Hi Ralle,
ich kann deinen Fehler nicht ganz nachvollziehen.
bis auf: im Bsp-Code hatte ich einen Schreibfehler (das Verzeichnis muss jeweils das gleiche sein)
statt:
ChDrive "d"
ChDir "D:\Test"
TmpDatei = Dir("D:\Text\*.txt")
muss es natürlich lauten:
ChDrive "d"
ChDir "D:\Test"
TmpDatei = Dir("D:\Test\*.txt")
das Verzeichnis (in diesem Falle D:\Test), welches du im Code angibst, muss natürlich existieren.
Probier's mal aus - erzeuge ein Verzeichnis (zB wie oben), speicher zwei txt-Dateien in diesem Verzeichnis und führe den Code wie von mir gepostet aus.
Zu Testzwecken mal ohne: "ActiveWorkbook.Close", dann sind diese zwei txt-Dateien anschließend in Excel geöffnet
Gruß
Christoph
Anzeige
AW: Mehre Dateien nacheinander öffnen und speichern?
ralle
Hallo Christoph,
hat funktioniert, beide Textdateien sind geöffnet (Entschuldigung, hab wohl was falsch gemacht).
Was ich noch nicht ganz verstanden habe ist wo die Datei als Excel gespeichert wird. Gibt es da auch einen Pfad, den ich eingeben muß?
Danke schon mal für Deine Hilfe, echt nett!!
Gruß
ralle
AW: Mehre Dateien nacheinander öffnen und speichern?
Christoph
Hi Ralle,
sowas kannst du dir sehr bequem mit dem Makro-Recorder aufzeichen:
zB:
Do While TmpDatei > ""
Workbooks.Open TmpDatei
'hier kannst deinen Code einfügen

'anschließend als xls speichern mit
ChDir "D:\Test1"
ActiveWorkbook.SaveAs Filename:="D:\Test1\Mappe1.xls", FileFormat:=xlNormal

ActiveWorkbook.Close
TmpDatei = Dir()
Loop
'...
wobei so natürlich spätestens bei der zweiten Datei eine problem entsteht, da eine Datei mit diesem Namen (Mappe1.xls) im Verzeichnis schon existiert.
Um das zu vermeiden, könntest du xls-Dateien unter dem selben Namen wie die txt-Dateien speichern (nur eben als xls). Hierzu müsstest du den Namen der geöffneten txt-Datei auslesen und an eine Variable übergeben. Diese Variable setzt du anschließend als Dateinamen ein.
Bsp:
Do While TmpDatei > ""
Workbooks.OpenText TmpDatei
'.....
'schneide "txt" ab und setze "xls" dran:
FName = Left(TmpDatei, Len(TmpDatei) - 3)
FName = FName & "xls"

'als xls speichern:
ChDir "D:\Test1"
ActiveWorkbook.SaveAs Filename:=:="D:\Test1\" & FName, FileFormat:=xlNormal
'...usw
Gruß
Christoph
Anzeige
AW: Mehre Dateien nacheinander öffnen und speichern?
ralle
Hallo Christoph,
habe jetzt ein wenig getestet und mein Makro sieht jetzt folgendermaßen aus:

Sub test()
' test Makro
' Makro am 23.03.2004 aufgezeichnet
Dim TmpDatei As String
Application.ScreenUpdating = False
ChDrive "d"
ChDir "D:\Test"
TmpDatei = Dir("D:\Test\*.txt")
Do While TmpDatei > ""
Workbooks.OpenText TmpDatei
'hier kannst deinen Code einfügen
'schneidet "txt" ab und sezte "xls" drab:
FName = Left(TmpDatei, Len(TmpDatei) - 3)
FName = FName & "xls"
'anschließend als xls speichern mit
'ActiveWorkbook.SaveAs Filename:=...., FileFormat:=xlNormal
ChDir "D:\Test1"
ActiveWorkbook.SaveAs Filename:="D:\Test1\" & FName, FileFormat:=xlNormal
ActiveWorkbook.Close
TmpDatei = Dir()
Loop
End Sub

Beim ausführen des Makros kommt folgende Fehlermeldung:
BWA_Feb_04.txt wurde nicht gefunden. Überprüfen Sie die Rechtschreibung des
Dateinamens und überprüfen Sie, ob der Ort der Datei korrekt ist.
etc.
Im Verzeichnis D:\Test1 wird aber die Datei BWA_Feb_04.txt als BWA_Feb_04.xls gespeichert.
Zur information, im Verzeichnis D:\Test befinden sich zwei Textdateien:
BWA_Feb_04.txt
BWA_Jan_04.txt
genau in dieser Reihenfolge.
Wo kann das Problem leigen?
Für Deine Hilfe bich ich echt dankbar!!!
Gruß
ralle
Anzeige
keiner Flüchtigkeitsfehler
Christoph
mit fatalen Folgen.
Hi ralle,
die Anweisung:
"ChDir "D:\Test1"
in der Loop-Schleife muss weg. Du wilst ja nicht das Verzeichnis wechseln, sondern nur die Datei im angegebenen Pfad speichern.
Ich hatte aus den vorhergehenden Antworten den Teil hier rüber kopiert und da war offensichtich eine Zeile zuviel dabei.
so läuft's jetzt aber...hoffe ich doch sehr
Gruß
Christoph
Vielen Dank für die Hilfe, es funktioniert !!!!!
ralle
Hi Christoph,
jetzt funktioniert es wunderbar.
Ich danke Dir für Deine Hilfe.
Die Forum ist echt super!!!
Danke, Danke, Danke!!
Gruß
ralle
Danke für die Rückmeldung (o.T.)
23.03.2004 22:41:27
Christoph
An Christoph!!!
23.03.2004 18:03:44
ralle
Hallo Christoph,
habe mir das Makro nochmal angeschaut und mir ist aufgefallen, dass er da wo txt abgeschnitten wir und xls anghängt wird ein Fehler sein muss.
Für FName steht da wenn ich mit der Maus drüber gehe: BWA_JAN_04.xls
und für TmpDatei steht da:BWA_FEB_04.xls
Also irgendetwas passt da nicht, oder ?
Gruß
ralle
Anzeige
AW: Mehre Dateien nacheinander öffnen und speichern?
Ulf
Hat dir die Antwort von Ramses gestern Abend nicht geholfen?
Ulf
AW: Mehre Dateien nacheinander öffnen und speichern?
ralle
... ehrlich gesagt nicht ganz.
Bin aber auch nicht so ein Experte in solchen sachen, muss mir dass mühsam erarbeiten.
Gruß
ralle
PS: Man sollte sich ruhig mehrere Meinungen anhören!
AW: Mehre Dateien nacheinander öffnen und speichern?
Ulf
Ja, meinetwegen, nur sowas wird hier im Forum nicht gern gesehen.
Ulf

59 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige