Title
Recientemente necesité convertir un fichero xlsb en
csv separado por punto y coma antes de importarlo en Access. El código es el siguiente:
Sub Excel2csv()
Dim FolderPath As String
Dim filename As String
Dim WB As Workbook
FolderPath = Application.CurrentProject.Path & "\"
filename = "Fichero.xlsb" ' Fichero origen
Set xlApp = CreateObject("Excel.Application")
With xlApp
.DisplayAlerts = False
.Application.Visible = False
.Workbooks.Open (FolderPath & filename)
.ActiveWorkbook.Saveas filename:=Application.CurrentProject.Path & "\" _
& "Fichero.csv", FileFormat:=xlCSV, Local:=True ' Fichero destino
.Workbooks.Close
.DisplayAlerts = True
End With
Set xlApp = Nothing
End Sub
Notas
- Es necesario añadir previamente la librería: Microsoft Access 15.0 Object Library
- Podemos usar el mismo para guardar ficheros *.xls, *.xlsx, o *.xlsm como *.csv, tan sólo cambiamos la extensión del fichero origen.
- Al haber deshabilitado las advertencias, el código reescribirá el fichero csv al ejecutar el código.
- En el caso de querer guardar el csv separado por comas eliminamos del código anterior el argumento:
Local:=True
Referencias
No hay comentarios:
Publicar un comentario