HERBERS Excel-Forum - das Archiv
Verständnisfrage zum Schreiben einer csv-Datei
Peter

Guten Abend
Um eine CSV-Datei mit ;-Delimiter zu schreiben habe ich einen Code im Netz gefunden und in meinen Code integriert.
Der Code läuft nun, doch es hat noch ein paar Bestandteile, die ich nicht verstehe. Wer kann mir die nötigen Hints geben?
1. Was bedeutet "DateiNummer = FreeFile" ? (Dateinummer ist eine Integer-Variable, FreeFile sagt mir gar nichts.
2. Was bedeutet " ... For Output as #DateiNummer
3. Was bedeutet die Schreibweise / Sonderzeichen "#DateiNummer" / "#"?
4. Was bedeutet "Close #DateiNummer"?
Danke für eine Beschreibung für einen bescheidenen, aber wissensdurstigen VBA-User.
Gruss, Peter
AWS = SavePath & "\" & File & ".csv"
DateiNummer = FreeFile
Open AWS For Output As #DateiNummer
For zNr = 1 To aSheet.UsedRange.Rows.Count
For sNr = 1 To aSheet.UsedRange.Columns.Count
TMP = TMP & CStr(aSheet.Cells(zNr, sNr).Text) & ";"
Next sNr
TMP = Left(TMP, Len(TMP) - 1)
Print #DateiNummer, TMP
TMP = ""
Next zNr
Close #DateiNummer

AW: Verständnisfrage zum Schreiben einer csv-Datei
Ramses

Hallo
1. FreeFile ist reservierter Begriff und erstellt einfach eine Nummer für eine geöffnete Datei.
Ist eine Datei auf diese Weise geöffnet, dann hat sie die Nummer 1, wird noch eine zweite Datei geöffnet während die erste offen ist, erhält die Variable die Nummer 2.
Wenn dir das, wie mir auch, suspekt ist, dann vergib einfach selbst eine Nummer
2. Output bedeutet dass alle bestehenden Daten in der Datei gelöscht und neu geschrieben werden.
Sollen die Daten erhalten bleiben, verwende den Begriff "Append" (Anhängen")
Mit dieser Anweisung wird die Zieldatei virtuell (nicht sichtbar) geöffnet.
3. Das ist ein Steuerzeichen für diesen Code dass die externe Datei angesprochen werden soll
4. Die virtuell geöffnete Datei wird geschlossen.
Gruss Rainer
AW: Verständnisfrage zum Schreiben einer csv-Datei
Peter

Hallo Rainer
Vielen Dank für die ausführlichen Erläuterungen!
Gruss, Peter