Hallo Zusammen,
ich suche eine Möglichkeit Zelleninhalte in eine Textdateivorlage an eine bestimmte Position zu schreiben und
diese Textdatei unter einem neuen Namen abzuspeichern. Hintergrund ist, dass später eine Schleife erstellt wird mit der
mehrere Kategorien zusammenzufassen und mit dazugehörende Zellinhalten in eine Textdatei zu schreiben sind und
diese unter dem Namen der Kategorie zu speichern ist. Hier erstmal der Ansatz den ich soweit ausfindig machen
konnte, um in eine Textdatei an eine bestimmte Stelle zu schreiben. Das mit dem Speichern unter einer externen
Textdatei aus Excel heraus erweist sich schwieriger als ich dachte, da mir nur das speichern von Exceldateien bekannt ist.
Kann mir jemand helfen die Lösung zu finden?
Sub Dateischreiben()
Dim strPfadUndDateiname As String
Dim lngFN As Long
Dim strText As String
Dim vntArray As Variant
Dim wksQuelle As Worksheet
Set wksQuelle = ActiveWorkbook.Worksheets("Tabelle2") ' 'Anpassen!!!
strPfadUndDateiname = "test.txt" 'Anpassen!!!
lngFN = FreeFile 'Freie Dateinummer ermitteln
Open strPfadUndDateiname For Binary As lngFN 'Datei öffnen
strText = Space(LOF(lngFN)) 'leeren String erzeugen in den die gesammte Datei passt
Get lngFN, 1, strText 'von Datei in String
Close lngFN 'Datei schließen
vntArray = Split(strText, vbCrLf, -1, 1) 'aus dem gesammt String einzelne Zeilen in Array ablegen
'Drei Beispiele:
'A1 in die Zeile 43 im Array ist dies die 42 denn es beginnt mit 0
vntArray(8) = Cells(1, 1).Text
'von B10 nach Zeile 20
'vntArray(19) = Cells(10, 2).Text
'von B13 an Zeile 33 anfügen
'vntArray(32) = vntArray(32) & " " & Cells(13, 2).Text
strText = Join(vntArray, vbCrLf)
lngFN = FreeFile
Kill strPfadUndDateiname
Open strPfadUndDateiname For Binary As lngFN
Put lngFN, 1, strText
lngFN.SaveAs Filename:=("Test2.txt"), CreateBackup:=False
Close lngFN
End Sub
|