Non è possibile scrivere solo una parte del file, quindi occorre procedere così:
1 - Con Open apri l'intero file in Input (se contiene caratteri di controllo dovrai usare Binary invece di Input) e lo carichi in una variabile stringa (es: sOldVar):
codice:
Public Function sTextFile (byval sPathFile as string) As String
Dim fnum As Integer
fnum = FreeFile()
Open sPathFile For Input As #fnum
sTextFile = Input(LOF(fnum), fnum)
End Function
sOldVar = sTextFile(TUO_FILE)
3 - Ora puoi crearti un array di stringhe, in cui ogni elemento dell'array contiene una riga del tuo file:
codice:
Dim sAr() As String
sAr = Split(sOldVar, vbCrLf)
e ottieni così un'array con tutte le righe.
Adesso puoi modificare la tua riga:
codice:
Dim i As Integer
Dim sNewVar as String ' conterrà il testo del file modificato
For i = 0 to UBound(sAr)
' scorri le righe e trovi quella da modificare
If Instr(sAr(i), "TestoDaCercare") > 0 then
sAr(i) = Replace(sAr(i), "TestoDaCercare", "NuovoTesto")
End If
' ricostruisco il file per salvarlo alla fine
sNewVar = sNewVar & sAr(i)
Next i
Infine salvi l'intero file sovrascrivendo il vecchio con il nuovo contenuto in sNewVar.
Usa Print invece di Write, perchè Write ti aggiunge le virgolette (che non servono) mentre Print no, stampa esattamente il contenuto senza modificarlo.
Ciao