Conversión a texto con pipes como delimitadores.

29/02/2004 - 02:11 por Luis Lara | Informe spam
Hola.
Necesito convertir una tabla de datos elaborada en excel, a texto con campos
delimitados por "pipes" pero no lo he logrado. Alguien ¿ me puede dar un tip
?
Gracias.
_________________________
Luis

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
29/02/2004 - 07:01 | Informe spam
hola, Luis !

... convertir una tabla ... a texto con campos delimitados por "pipes" [...]



prueba con la siguiente macro y 'revisa' el archivo que 'genera' [obviamente] puedes cambiar:
el nombre y la ruta [del archivo 'a generar'], la hoja y el rango ['a tomar de'] y el caracter delimitador.
_______
Public Sub ExportarTextoDelimitado()
Application.ScreenUpdating = False
Dim Archivo As String, Delimitar As String, A_num As Integer, _
Fila As Long, Fila_1 As Long, Fila_n As Long, _
Col As Integer, Col_1 As Integer, Col_n As Integer, _
Linea As String, Celda As String
Archivo = "C:\Mis documentos\ArchiTexto.txt"
Delimitar = "|"
On Error GoTo Salida:
A_num = FreeFile
With ActiveSheet.UsedRange
Fila_1 = .Cells(1).Row
Col_1 = .Cells(1).Column
Fila_n = .Cells(.Cells.Count).Row
Col_n = .Cells(.Cells.Count).Column
End With
Open Archivo For Output Access Write As #A_num
For Fila = Fila_1 To Fila_n
Linea = ""
For Col = Col_1 To Col_n
If Cells(Fila, Col).Value <> "" _
Then Celda = Application.Text(Cells(Fila, Col), Cells(Fila, Col).NumberFormat) _
Else Celda = ""
Linea = Linea & Celda & Delimitar
Next
Linea = Left(Linea, Len(Linea) - Len(Delimitar)) & String(2, Delimitar)
Print #A_num, Linea
Next
Salida:
On Error GoTo 0
Close #A_num
End Sub
¨¨¨¨¨¨¨¨¨¨¨¨¨¨
saludos,
hector.
Respuesta Responder a este mensaje
#2 josepe
02/03/2004 - 18:55 | Informe spam
Mejor hazlo desde Visual Foxpro. Abres la tabla dbf y le das "copy to
archivo.txt type delimited with (lo que tu quieras)". Alli hay varias
formas de hacerlo, en adicion a la que te describo.
Respuesta Responder a este mensaje
#3 Luis Lara
03/03/2004 - 05:47 | Informe spam
Hola Héctor!
Ya probé la macro que me enviaste, funciona perfectamente. Te lo agradezco,
pues ya tenía un rato intentándolo, sin lograrlo.
Saludos.
Luis

"Héctor Miguel" escribió en el mensaje
news:uCb$Bmo$
hola, Luis !

> ... convertir una tabla ... a texto con campos delimitados por "pipes"


[...]

prueba con la siguiente macro y 'revisa' el archivo que 'genera'


[obviamente] puedes cambiar:
el nombre y la ruta [del archivo 'a generar'], la hoja y el rango ['a


tomar de'] y el caracter delimitador.
_______
Public Sub ExportarTextoDelimitado()
Application.ScreenUpdating = False
Dim Archivo As String, Delimitar As String, A_num As Integer, _
Fila As Long, Fila_1 As Long, Fila_n As Long, _
Col As Integer, Col_1 As Integer, Col_n As Integer, _
Linea As String, Celda As String
Archivo = "C:\Mis documentos\ArchiTexto.txt"
Delimitar = "|"
On Error GoTo Salida:
A_num = FreeFile
With ActiveSheet.UsedRange
Fila_1 = .Cells(1).Row
Col_1 = .Cells(1).Column
Fila_n = .Cells(.Cells.Count).Row
Col_n = .Cells(.Cells.Count).Column
End With
Open Archivo For Output Access Write As #A_num
For Fila = Fila_1 To Fila_n
Linea = ""
For Col = Col_1 To Col_n
If Cells(Fila, Col).Value <> "" _
Then Celda = Application.Text(Cells(Fila, Col), Cells(Fila,


Col).NumberFormat) _
Else Celda = ""
Linea = Linea & Celda & Delimitar
Next
Linea = Left(Linea, Len(Linea) - Len(Delimitar)) & String(2,


Delimitar)
Print #A_num, Linea
Next
Salida:
On Error GoTo 0
Close #A_num
End Sub
¨¨¨¨¨¨¨¨¨¨¨¨¨¨
saludos,
hector.


Respuesta Responder a este mensaje
#4 Luis Lara
03/03/2004 - 05:51 | Informe spam
Gracias Josepe, lo que sucede que estoy recibiendo algunos archivos en
excel, y buscaba una forma de hacerlo desde el propio excel sin pasarlos a
otro software para convertirlos.
Saludos!

"josepe" escribió en el mensaje
news:
Mejor hazlo desde Visual Foxpro. Abres la tabla dbf y le das "copy to
archivo.txt type delimited with (lo que tu quieras)". Alli hay varias
formas de hacerlo, en adicion a la que te describo.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida