2015-03-18

Convertir fichero Excel a CSV desde Access

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

Nube de datos