Hallo Malte,
wenn du eine Datei mit Binary öffnest ist dass als ob du direkt auf den Speicher zugreifst.
Vergleichen kann man das vielleicht wie wenn man ein Bildbearbeitungsprogramm aufmacht, und
dann einzelne Pixcel übermalt.
Es werden auch keine neue Pixel eingefügt, sondern die alten einfach mit anderer Farbe gefüllt.
Für dich heißt dass dass du dir erst mal Platz schaffen musst.
Also alles nach der Einfügeposition um x Stellen verschieben.
Also musst du Daten ab der Einfügeposition in eine Variable speicher, dein neuen Namen dann
einfügen, und die alten Daten weiter hinten wieder einfügen.
Zudem solltest du deinem neuen Namen noch ein Zeilenumbruch anhängen, damit wirklich eine Zeile eingefügt wird.
Das ganze könnte dann so aussehen.
Private Sub cmdWrite_Click()
Dim MessDatenName As String
Dim gFileNum As Long
Dim sFile As String
Dim s As String
Dim x As Long
sFile = "E:\tmp\Excel\Messdaten.txt"
MessDatenName = "MG1_MessDaten" & vbCrLf
x = 37
gFileNum = FreeFile
s = String(FileLen(sFile) - x + 1, " ")
Open sFile For Binary As gFileNum
Get #gFileNum, x, s
Put #gFileNum, x, MessDatenName
Put #gFileNum, x + Len(MessDatenName), s
Close gFileNum
End Sub
|