Makro Dateien öffnen bearbeiten 'neuer dateiname'

Hallo,
ich habe ein Makro geschrieben, dass in meinem ordner alle txt (tabstop getrennt) datein einliest bearbeitet und wieder abspeichert.
Nun zu meinem Problem. Ich hätte diese aber gerne unter einem neuen Dateinamen abgespeichert.

Const sSourcePath As String = „C:\Testit“
Dim fso As Object, oFile As Object
Set fso = CreateObject(„Scripting.FileSystemObject“)
For Each oFile In fso.GetFolder(sSourcePath).Files
If LCase(Right(oFile.Name, 4)) = „.txt“ Then
Application.Workbooks.Open (oFile.Path)

ActiveWorkbook.SaveAs Filename:=(oFile & „neu“)
ActiveWorkbook.Close savechanges:=False

Problem mir wird die Datei wenn die Originaldatei „input.txt“ heisst nachher als „input.txtneu.txt“ benannt.
Wie kann ich das machen, dass sie „neuinput.txt“ heisst.

ich habe es so versucht, aber leider ohne erfolg

ActiveWorkbook.SaveAs Filename:=(„neu“ & oFile)

könntet ihr mir da nen tipp geben.

Danke

Nun zu meinem Problem. Ich hätte diese aber gerne unter einem
neuen Dateinamen abgespeichert.
Problem mir wird die Datei wenn die Originaldatei „input.txt“
heisst nachher als „input.txtneu.txt“ benannt.
Wie kann ich das machen, dass sie „neuinput.txt“ heisst.

hallo Unikat,

probiers mal so:

ActiveWorkbook.SaveAs Filename:=oFile.Path & „“ & „neu“ & oFile.Name

Wenn es nicht klappt muß man wissen was genau in oFile.Path und oFile.Name drinsteht.

Gruß
Reinhard

klappt leider noch nicht.

folgender fehler kommt

„Auf ‚neuinput.txt‘ konnte nicht zugegriffen werden. Unter Umständen ist die Datei oder der Apeicherplatz der Datei schreibgeschützt, oder der Server auf dem das Dokument gespeichert ist, reagrit nicht mehr“

reicht dir diese info für oFile.Path und oFile.Name?

Dim fso As Object, oFile As Object
Set fso = CreateObject(„Scripting.FileSystemObject“)
For Each oFile In fso.GetFolder(sSourcePath).Files
If LCase(Right(oFile.Name, 4)) = „.txt“ Then
Application.Workbooks.Open (oFile.Path)

„Auf ‚neuinput.txt‘ konnte nicht zugegriffen werden. Unter
Umständen ist die Datei oder der Apeicherplatz der Datei
schreibgeschützt, oder der Server auf dem das Dokument
gespeichert ist, reagrit nicht mehr“

Hallo Unikat,

bau mal vor
ActiveWorkbook.SaveAs Filename:=oFile.Path & „“ & „neu“ & oFile.Name
ein:
MsgBox oFile.Path & „“ & „neu“ & oFile.Name
und teste den Code mit F8. Wenn die Msgbox einen Korrekten Pfad samt Datei anzeigt so muß da irgedwas vorliegen daß du und damit Vba nicht speichern darfst.

Gruß
Reinhard

So also nun kommt folgender fehler.

„X:\Test\input.txt\neuinput.txt“

Nunja also wenn jetzt noch der „ordner“ „input.txt“ nicht vorhanden wäre, dann würde es passen.

der hintere teil stimmt ja schonmal.

Hallo Unikat,

na, klappt ja schon gut :smile:)

Ich komme nochmal auf meine Frage zurück
was genau steht in .Path und was in .Name
Kannste ja mit Msgbox leicht ermitteln.

ungetestet:

ActiveWorkbook.SaveAs Filename:=replace( oFile.Path,oFile.Name, „neu“ & oFile.Name)

Gruß
Reinhard

Hey es klappt. Dank dir vielmals.