
Borrar saltos de línea
Publicado por miguel (8 intervenciones) el 02/01/2014 15:07:26
Hola, estoy trabajando con un archivo txt, tratando de borrar los saltos de línea y guardar los cambios.. pero no me funciona...
Me pueden ayudar?
Adjunto el código que estoy usando.
Abro el archivo y lo recorro para borrar los saltos de línea y retorno de carro. Creo un archivo temporal y traspaso los datos modificados (sin salto y retorno), pero al abrir el nuevo archivo lo veo igual que al original
Gracias
Private Function Archivo_a_Matriz(ByVal Path As String) As String()
On Error GoTo errSub
Dim Array_Datos As String
Dim F_File As Integer
Dim Split_Array() As String
' Para el número libre de archivo
F_File = FreeFile
' Abre el archivo en modo binario de lectura
Open Path For Binary As #F_File
' crea un buffer con la cantidad de caracteres - bytes necesarios
Array_Datos = String(LOF(F_File), 0)
' Almacena en el buffer todo el archivo
Get #F_File, , Array_Datos
' Cierra el archivo
Close #F_File
' Elimina el último salto de carro, si es que hay ( caracter VbCrlf )
Do Until (Right$(Array_Datos, 2) <> vbCrLf)
Array_Datos = Mid$(Array_Datos, 1, Len(Array_Datos) - 2)
Loop
' Obtenemos con split los datos del buffer, en un array
Split_Array = Split(Array_Datos, vbCrLf)
' retorna el array a la función
Archivo_a_Matriz = Split_Array
Exit Function
'error
errSub:
' En caso de error devuelve un array vacío
ReDim Archivo_a_Matriz(0)
End Function
Sub Normaliza_Fuente()
Dim Array_Datos() As String
Dim i As Integer
Dim Name As String
Screen.MousePointer = 11
Array_Datos = Archivo_a_Matriz(SelectDir & "\" & SelectFile)
' Creo un archivo temporal para guardar los datos
Open SelectDir & "\" & "fuente.tmp" For Output As #1
For i = LBound(Array_Datos) To UBound(Array_Datos)
Print #1, Array_Datos(i)
Next
Close #1
File = SelectDir & "\" & SelectFile.FileName
Kill File
Name SelectDir & "\" & "fuente.tmp" As SelectDir & "\" & SelectFile
SelectFile.Refresh
Screen.MousePointer = 0
End
End Sub
Me pueden ayudar?
Adjunto el código que estoy usando.
Abro el archivo y lo recorro para borrar los saltos de línea y retorno de carro. Creo un archivo temporal y traspaso los datos modificados (sin salto y retorno), pero al abrir el nuevo archivo lo veo igual que al original
Gracias
Private Function Archivo_a_Matriz(ByVal Path As String) As String()
On Error GoTo errSub
Dim Array_Datos As String
Dim F_File As Integer
Dim Split_Array() As String
' Para el número libre de archivo
F_File = FreeFile
' Abre el archivo en modo binario de lectura
Open Path For Binary As #F_File
' crea un buffer con la cantidad de caracteres - bytes necesarios
Array_Datos = String(LOF(F_File), 0)
' Almacena en el buffer todo el archivo
Get #F_File, , Array_Datos
' Cierra el archivo
Close #F_File
' Elimina el último salto de carro, si es que hay ( caracter VbCrlf )
Do Until (Right$(Array_Datos, 2) <> vbCrLf)
Array_Datos = Mid$(Array_Datos, 1, Len(Array_Datos) - 2)
Loop
' Obtenemos con split los datos del buffer, en un array
Split_Array = Split(Array_Datos, vbCrLf)
' retorna el array a la función
Archivo_a_Matriz = Split_Array
Exit Function
'error
errSub:
' En caso de error devuelve un array vacío
ReDim Archivo_a_Matriz(0)
End Function
Sub Normaliza_Fuente()
Dim Array_Datos() As String
Dim i As Integer
Dim Name As String
Screen.MousePointer = 11
Array_Datos = Archivo_a_Matriz(SelectDir & "\" & SelectFile)
' Creo un archivo temporal para guardar los datos
Open SelectDir & "\" & "fuente.tmp" For Output As #1
For i = LBound(Array_Datos) To UBound(Array_Datos)
Print #1, Array_Datos(i)
Next
Close #1
File = SelectDir & "\" & SelectFile.FileName
Kill File
Name SelectDir & "\" & "fuente.tmp" As SelectDir & "\" & SelectFile
SelectFile.Refresh
Screen.MousePointer = 0
End
End Sub
Valora esta pregunta


0