rinberger
Goto Top

Erstellen einzelner .txt Dateien aus einer Excel Liste + Namensvergebung

Hallo zusammen,

ich versuche aus einer Excel Tabelle jede Zeile als einzelne .txt Datei auszugeben.
Das klappt bisher ganz gut und es werden mir alle Dateien erstellt.
Kann ich diese auch automatisch so ausgeben, dass sie als Dateinamen den jeweiligen Wert der Spalte A tragen?
In der .txt soll dann nur der Wert der Spalte B stehen wie bisher.

Beispiel:
bsp

Der Code:

Sub ErstelleDateien()
Ziel = "D:\Dein Ordner"  
Stellen = 3
Typ = ".txt"  
AbZeile = 1
Spalte = "B"  

Zeile = AbZeile
Nr = 1000001

Set fso = CreateObject("Scripting.FileSystemObject")  
If Right(Ziel, 1) <> "\" Then Ziel = Ziel & "\"  

Do While Cells(Zeile, Spalte).Value <> ""  
    fso.CreateTextFile(Ziel & Right(Nr, Stellen) & Typ).Write Cells(Zeile, Spalte).Value
    Zeile = Zeile + 1
    Nr = Nr + 1
Loop
End Sub

Viele Grüße
Rinberger

Content-Key: 487937

Url: https://administrator.de/contentid/487937

Printed on: April 20, 2024 at 04:04 o'clock

Mitglied: 140913
140913 Aug 23, 2019, updated at Aug 26, 2019 at 07:11:57 (UTC)
Goto Top
Kann ich diese auch automatisch so ausgeben, dass sie als Dateinamen den jeweiligen Wert der Spalte A tragen?
Ja, Zeile so ändern das das Right(Nr, Stellen) geändert wird in Cells(Zeile, A)
fso.CreateTextFile(Ziel & Cells(Zeile, "A") & Typ,true).Write Cells(Zeile, Spalte).Value  
Member: Rinberger
Rinberger Aug 23, 2019 at 10:55:12 (UTC)
Goto Top
Hi vielen Dank jetzt kommt allerdings diese Meldung.

bsp2
Mitglied: 140913
140913 Aug 23, 2019 updated at 11:02:12 (UTC)
Goto Top
Mit F8 schrittweise durchlaufen oder Breakpoint setzen.

Wenn die Datei schon existiert, zweiten Parameter von CreateTextfile auf True setzen, s. oben .
http://www.herber.de/mailing/vb/html/vamthcreatetextfile.htm
Member: Rinberger
Rinberger Aug 23, 2019 updated at 11:19:28 (UTC)
Goto Top
Klappt noch nicht so.. bin da leider Anfänger. Mit F8 komme ich bis zu Zeile 16.

Sub ErstelleDateien()
Ziel = "D:\Test"  
Stellen = 3
Typ = ".txt"  
AbZeile = 1
Spalte = "B"  

Zeile = AbZeile
Nr = 1000001

Set fso = CreateObject("Scripting.FileSystemObject")  
If Right(Ziel, 1) <> "\" Then Ziel = Ziel & "\"  

Do While Cells(Zeile, Spalte).Value <> ""  
    Set fs = CreateObject("Scripting.FileSystemObject")  
    fso.CreateTextFile(Ziel & Cells(Zeile, A) & Typ, True).Write Cells(Zeile, Spalte).Value
    Zeile = Zeile + 1
    Nr = Nr + 1
    
Loop
End Sub
Mitglied: 140913
Solution 140913 Aug 23, 2019, updated at Aug 26, 2019 at 07:09:33 (UTC)
Goto Top
Sub ErstelleDateien()
Ziel = "D:\Test"  
Stellen = 3
Typ = ".txt"  
AbZeile = 1
Spalte = "B"  
Zeile = AbZeile

Set fso = CreateObject("Scripting.FileSystemObject")  
If Right(Ziel, 1) <> "\" Then Ziel = Ziel & "\"  

Do While Cells(Zeile, Spalte).Value <> ""  
    fso.OpenTextFile((Ziel & Cells(Zeile, "A").Value & Typ),2,True).Write Cells(Zeile, Spalte).Value  
    Zeile = Zeile + 1
Loop
End Sub
Strings in Zelle A müssen natürlich Dateinamenstandards erfüllen und dürfen keine Sonderzeichen die ungültig sind enthalten! Klappt hier .
Member: Rinberger
Rinberger Aug 26, 2019 updated at 07:07:32 (UTC)
Goto Top
Sonderzeichen wurden entfernt, keine Klammern, Punkte, Leerschritte etc. trotzdem kommt der Laufzeitfehler, woran liegt das?

Sub ErstelleDateien()
Ziel = "D:\Test"  
Stellen = 3
Typ = ".txt"  
AbZeile = 1
Spalte = "B"  
Zeile = AbZeile

Set fso = CreateObject("Scripting.FileSystemObject")  
If Right(Ziel, 1) <> "\" Then Ziel = Ziel & "\"  

Do While Cells(Zeile, Spalte).Value <> ""  
fso.OpenTextFile((Ziel & Cells(Zeile, A).Value & Typ), 2, True).Write Cells(Zeile, Spalte).Value
Zeile = Zeile + 1
Loop
End Sub
Mitglied: 140913
Solution 140913 Aug 26, 2019 updated at 07:10:33 (UTC)
Goto Top
Na hieran
.Value.Value
doppelt gemoppelt hält halt nicht immer face-big-smile

Und hier fehlen bei dir die Anführungszeichen um das A
Cells(Zeile, "A")  
Member: Rinberger
Rinberger Aug 26, 2019 at 07:10:32 (UTC)
Goto Top
Habs bemerkt... trotzdem bekomme ich den Laufzeitfehler 1004.
Mitglied: 140913
140913 Aug 26, 2019 updated at 07:11:26 (UTC)
Goto Top
Lies die Ergänzung zu den Anführungszeichen um das A
Member: Rinberger
Rinberger Aug 26, 2019 at 07:26:53 (UTC)
Goto Top
Super face-smile endlich hat es geklappt vielen Dank!