Saltar al contenido

Crear csv delimitado por pipeline


Recommended Posts

publicado

Buenos días,

actualmente uso una macro a diario que me genera un archivo CSV de varias hojas de un mismo libro. Como bien indica el tipo de archivo que se genera, los campos resultantes, lo hacen separado por comas, pero para la aplicación final en la que doy uso al archivo CSV generado, necesito de "|" (pipeline) para funcionar correctamente.

Copio la macro en cuestión por si es posible modificar o añadir algo que permita que el separador sea Pipeline:

Sub Crear_CSV()

Dim csvName$, mySh As Worksheet

Dim i&

Application.ScreenUpdating = False

Do

i = 1 + i

csvName$ = ThisWorkbook.Path & "\ARCHIVOCSV_" & Format(i, "0000") & ".csv"

Loop Until Dir(csvName$) = ""

Workbooks.Add xlWBATWorksheet

For Each mySh In ThisWorkbook.Sheets

mySh.[a1].CurrentRegion.Offset(1).Copy

Cells(Rows.Count, "a").End(xlUp).Offset(1).PasteSpecial xlPasteValuesAndNumberFormats

Next mySh

Rows(1).Delete

With Application

.UseSystemSeparators = False

.DecimalSeparator = "."

.ThousandsSeparator = ","

End With

ActiveWorkbook.SaveAs Filename:=csvName$, FileFormat:=xlCSVMSDOS

ActiveWorkbook.Close False

Application.UseSystemSeparators = True

Application.ScreenUpdating = True

MsgBox "Se ha creado el archivo:" & vbLf & csvName$, vbInformation, "Crear CSV"

Shell "explorer.exe /select," & csvName, vbMaximizedFocus

End Sub

Gracias por adelantado por vuestra ayuda.

Marcos.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.