Macro guardar Excel como csv con separador "|"
Hola, saludos y gracias de antemano por vuestra ayuda.
El caso es que necesito una macro para guardar una hoja de un archivo xlms en formato csv, pero de modo que los campos queden separados por "|". Manualmente con un guardar como y cambiando el tipo de separador en la configuración regional ya lo podía hacer, pero al grabar la macro siempre me pone comas. Entonces encontré esta macro en la web de McGimpsey, que funciona muy bien, pero me guarda un archivo con nombre Test.txt, y no se como hacer para que me lo guarde con el mismo nombre que tiene el fichero xlms. Si alguien puede solucionar este detalle esta macro me seria perfecta.
Public Sub TextNoModification()
Const DELIMITER As String = "," 'or "|", vbTab, etc.
Dim myRecord As Range
Dim myField As Range
Dim nFileNum As Long
Dim sOut As String
nFileNum = FreeFile
Open "Test.txt" For Output As #nFileNum
For Each myRecord In Range("A1:A" & _
Range("A" & Rows.Count).End(xlUp).Row)
With myRecord
For Each myField In Range(.Cells(1), _
Cells(.Row, Columns.Count).End(xlToLeft))
sOut = sOut & DELIMITER & myField.Text
Next myField
Print #nFileNum, Mid(sOut, 2)
sOut = Empty
End With
Next myRecord
Close #nFileNum
End Sub