Buongiorno a tutti, ho un quesito da porre alla vostra cortese attenzione:
ho un file csv delimitato da "|" , e dovrei aggiungere dopo l'ultimo record, due record fissi.
Nella fattispecie, il file è costruito in questo modo:
colonna1|colonna2|colonna3|colonnaX
l'obbiettivo è quello di aggiungere, dopo colonnaX, altre due colonne riempite con valori costanti, ad esempio |pippo|pluto|
le colonne non hanno nome, non sono intestate.
ora, io da buon profano, ho provato ad utilizzare il codice che ho trovato, e in parte la cosa funziona
il codice è il seguente:
codice:
Dim sFile
sFile = "d:\output\prova.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
Set oStream = fso.OpenTextFile(sFile, 1) '1=Open for reading
sLine = oStream.ReadLine
oStream.close
dim aLine
aLine = split(sLine, "|")
aLine(14) = "|PIPPO|PLUTO|"
sLine = ""
for i=lbound(aLine) to ubound(aLine)
sLine = sLine + aLine(i) + "|"
next
set oStream = fso.OpenTextFile(sFile, 2) '2=Open for writing
oStream.WriteLine left(sLine, len(sLine)-1) 'Get rid of that extra comma from the loop
oStream.Close
set oStream=nothing
set fso = nothing
ebbene, il codice funziona in parte, cioè funziona solo se dopo ColonnaX ci metto il pipe |, altrimenti non funziona.
il problema è che l'ultimo pipe non c'è nel file che devo gestire.
L'altro problema è che se il file contiene una sola riga funziona come vi ho già spiegato, ma se ho più righe, me le cancella tutte meno che la prima.
Come posso fare per risolvere questi due problemi?
VI ringrazio sin da ora e scusate la mia ignoranza.