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):
3 - Ora puoi crearti un array di stringhe, in cui ogni elemento dell'array contiene una riga del tuo file: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)
e ottieni così un'array con tutte le righe.codice:Dim sAr() As String sAr = Split(sOldVar, vbCrLf)
Adesso puoi modificare la tua riga:
Infine salvi l'intero file sovrascrivendo il vecchio con il nuovo contenuto in sNewVar.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
Usa Print invece di Write, perchè Write ti aggiunge le virgolette (che non servono) mentre Print no, stampa esattamente il contenuto senza modificarlo.
Ciao![]()

