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