ciao , per scrivere quel file non vanno bene le istruzioni dello spazio script , perche aggiungono i caratteri di fine linea e ritorno a capo ad ogni linea che si scrive.
Vanno invece usati dei metodi apposta per scrivere il file senza aggiungere byte non voluti.
Questo Script è molto simile a quell odi joe , la differenza è che scrive il file usanndo l'oggetto textstream istanziato per l'occorrenza , notare che si usa il metodo write e non il metodo writeline che invece aggiungerebbe i caratteri ascii 13 e 10.
Inoltre è possibile in questo modo non dover accodare idati alla stessa stringa che piano piano rallenta il processo.
Lo script ogni volta ricrea il file mettendo tutte le estrazioni disponibili in spaziometria.
Va cambiato il nome del fie con le proprie esigenze , eventualmente puntando direttamente al file dat del programma che lo usa.
Codice:
Option Explicit
Sub Main
Dim sFileArchivio
Dim idEstr,nEstrTot,r,e
Dim sRecord
Dim oFSO,outFile
'==================================================================================================================
' ATTENZIONE CAMBIARE IL PERCORSO IN BASE ALLE PROPRIE ESIGENZE
' IL FILE VIENE RICREATO QUINDI IL VECCHIO ANDRA' PERSO
' nel file verraqnno scritte le estrazioni dell'archivio di spaziometria dalla prima fino all'ultima disponibile
sFileArchivio = "C:\Users\luigi\Downloads\archivio.txt"
'===================================================================================================================
nEstrTot = EstrazioniArchivio
EliminaFile sFileArchivio
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set outFile = oFSO.OpenTextFile(sFileArchivio,8,True)
For idEstr = 1 To EstrazioniArchivio
sRecord = ""
For r = 1 To 10
For e = 1 To 5
sRecord = sRecord & Format2(Estratto(idEstr,r,e))
Next
Next
sRecord = sRecord & Format2(giorno(idEstr)) & "-" & NomeMese(Mese(idEstr)) & "-" & Anno(idEstr) & FormatSpace(IndiceAnnuale(idEstr),4)
outFile.write(sRecord)
Call AvanzamentoElab(1,nEstrTot,idEstr)
Next
Set oFSO = Nothing
outFile.Close
Set outFile = Nothing
Scrivi "Fine processo"
Call LanciaFile(sFileArchivio)
End Sub
Function NomeMese(id)
Select Case id
Case 1
NomeMese = "Gen"
Case 2
NomeMese = "Feb"
Case 3
NomeMese = "Mar"
Case 4
NomeMese = "Apr"
Case 5
NomeMese = "Mag"
Case 6
NomeMese = "Giu"
Case 7
NomeMese = "Lug"
Case 8
NomeMese = "Ago"
Case 9
NomeMese = "Set"
Case 10
NomeMese = "Ott"
Case 11
NomeMese = "Nov"
Case 12
NomeMese = "Dic"
End Select
End Function