Forums Últimos mensajes - Powered by IBM
 

¿como convertir tabla de excel en texto delimitado por pipes?

07/01/2006 - 21:16 por Marcos Duarte | Informe spam
Tengo una hoja de excel que necesito convertirlo en texto y que cada
separacion de columna le agregue un pipe al texto
 

Leer las respuestas

#1 Héctor Miguel
08/01/2006 - 01:28 | Informe spam
hola, Marcos !

Tengo una hoja de excel que necesito convertirlo en texto y que cada separacion de columna le agregue un pipe al texto



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.

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
en un modulo de codigo 'normal' ==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

Preguntas similares