2014-10-21

Reemplazar carácter en un fichero de texto con VBA en Access cuadro dialogo

Title Anteriormente vimos cómo reemplazar carácter en un fichero de texto con VBA en Access. En esta ocasión, en lugar de especificar en nuestro código la ruta y nombre del fichero, lo seleccionamos mediante un cuadro de diálogo. El nuevo fichero con el sufijo _final se creará en la misma ruta del fichero seleccionado.

Sub ReemplazarCaracteresAccess()

Set FileName = Application.FileDialog(msoFileDialogFilePicker) 
FileName.Show 'Diferente de Excel
ruta = FileName.SelectedItems(1)
RutaSinExtension = Left(ruta, InStrRev(ruta, ".") - 1) 

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(ruta) Then
    Set objStream = fso.OpenTextFile(ruta, 1, False, 0)
End If
    Set ObjCopy = fso.CreateTextFile(RutaSinExtension & "_final." & Right(ruta, 3))

For x = 1 To 5  'Salta el nº de líneas indicadas: 5
    objStream.readline
Next x
 
Do While Not objStream.AtEndOfStream
    strOldLine = objStream.readline
    i = 1
    NewArray = Split(strOldLine, ",") 'Carácter reemplazado: ,
       strNewLine = NewArray(0)
       
    Do Until i = UBound(NewArray) + 1
         strNewLine = strNewLine & ";" & NewArray(i) 'Carácter nuevo: ;
         i = i + 1
    Loop
    ObjCopy.WriteLine strNewLine
Loop
End Sub
Borramos estas 3 líneas en el caso de que en el fichero de texto no haya que saltarse líneas en blanco y que provocarían un error:

For x = 1 To 5  'Se salta el nº de líneas indicadas 
    objStream.readline
Next x

Entradas relacionadas

No hay comentarios:

Publicar un comentario

Nube de datos