Ti ringrazio per il consiglio...però ho bisogno di non dover riscrivere l'intero file, ma solo una riga alla volta.Originariamente inviato da gibra
Non si capisce perchè tu abbia messo nel titolo FileSystemObject, quando in realtà non lo usi...
Comunque, ti consiglio di caricare tutto il file in una variabile stringa, poi puoi farci tutte le operazioni che vuoi.
Alla fine ti basta riscrivere l'intero file.
Puoi usare questa funzione per caricare il contenuto in una stringa:
Ho provato ad implementare la seguente soluzione:
Dim Elenco As String
Dim fHnd As Integer
fHnd = FreeFile
Open sFileName For Random As fHnd Len = 40
lunghFile = LOF(fHnd)
NumRecords = lunghFile\40
'non so se serve però mi crea una stringa di 40 caratteri
Elenco = " "
recnumber = 1
Do While Not EOF(fHnd)
'carica i dati in variabile di supporto
Get fHnd, NumRecords, Elenco
ReDim aRiga(1)
aRiga = newSplitFunction(Elenco,"|") 'è una funzione che splitta la stringa
If aRiga(1) = "N" Then
sGUID = aRiga(0)
....passo sGUID all'algoritmo
aRiga(1) = "Y"
Elenco = aRiga(0) & aRiga(1)
Put fHnd, recnumber, Elenco
End If
recnumber = recnumber + 1
Loop
Close fHnd
La soluzione mi sembrava corretta ma al Get mi dà il seguente errore fin dal primo ciclo: Record Length Exceeded. Si tenga presente che il mio file sorgente di partenza sFileName è costituito da tante (di volta in volta diverse) righe "codicealfanumerico(36 caratteri)|N"
...quindi ho 38 caratteri su una riga + i 2 caratteri per andare a capo (almeno me lì conta così in debug)....Quindi ho impostato 40 come lunghezza del singolo record da caricare.
Dove potrebbe essere l'errore? Non riesco a spiegarmi l'exceeded della memoria.

Rispondi quotando