Allora, ho sostituito nella tua macro la parte centrale, quella che elaborava tramite Excel il contenuto del file, in modo da lavorare direttamente sui file testo. Il nuovo codice:
- Codice: Seleziona tutto
Sub ELABORAFILE2()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
' Dim wk As Workbook
Dim s As String
Dim myFile As Object, myLines, I As Long
'metto un riferimento alla cartella in cui si trovano i files
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Users\Serra\Documents\ASCIITRADESTATION")
'
'ciclo gli oggetti file della cartella
For Each objFile In objFolder.Files
'imposto a "" la variabile s
s = ""
'metto in s gli ultimi 4 caratteri del nome del file che sto ciclando
s = Right(objFile.Name, 4)
Select Case s
'se s è uguale ad una delle seguenti stringhe
Case ".TXT"
'objfile.OpenTextFile(strFileName, 1)
'Leggi il file:
Set myFile = objFSO.OpenTextFile(objFile.Name, 1) 'lettura
strContents = myFile.ReadAll
myFile.Close
'Split in records:
myLines = Split(strContents, vbNewLine)
'Apre in scrittura e scrive dal secondo record:
Set objFile = objFSO.OpenTextFile(objFile.Name, 2) 'scrittura
For I = 0 To UBound(myLines)
If I > 0 Then
objFile.WriteLine myLines(I)
End If
Next I
End Select
Next
'Set a Nothing delle variabili oggetto
'' Set shMe = Nothing
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
End Sub
Come nella tua macro, di cui ho mantenuto l'impostazione di massima, vengono cercati nella directory specificata i file con estensione ".TXT" e viene eliminato (nella fase di scrittura) il record iniziale. Excel quindi viene usato solo come contenitore della macro.
Prova e fai sapere...