EXCEL VBA: Inhalt einer Zelle in ein txt Dokument an bestimmter Stelle ersetzen?

2 Antworten

Vielleicht hilft dir dieser Ansatz. Nutze doch das FileSystemObject.

Sub A1ToFile()
  Const ForReading = 1
  Const ForWriting = 2
  Const ForAppending = 8
  Const iPos = 4 ' Ab dieser Position wird ersetzt
  Const StrFSO = "Scripting.FileSystemObject"
  Const Textdatei = "E:\tmp\tmp.txt"
  Dim fso
  Dim iLen
  Dim oFile
  Dim rQuelle
  Dim sInhalt
  
  Set rQuelle = ActiveSheet.Range("A1")
  Set fso = CreateObject(StrFSO)
  Set oFile = fso.OpenTextFile(Textdatei, ForReading)
  sInhalt = oFile.ReadAll()
  oFile.Close
  
  iLen = Len(rQuelle.Value)
  sInhalt = Left(sInhalt, iPos - 1) & rQuelle.Value & Right(sInhalt, Len(sInhalt) - iPos - iLen + 1)
  
  Set oFile = fso.OpenTextFile(Textdatei, ForWriting)
  oFile.Write sInhalt
  oFile.Close
  
  Set fso = Nothing
  Set oFile = Nothing
End Sub

Eine (evtl. etwas unschöne) Lösung wäre, die Datei komplett einzulesen (z.B. in ein Array), die gewünschte Stelle zu ändern und dann alles in eine neue Datei zu schreiben.

Evtl. kann VBA sogar die gleiche Datei benutzen, da bin ich mir grad nicht sicher.

Was möchtest Du wissen?