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