¿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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 ALEJANDRO
20/06/2007 - 01:38 | Informe spam
EXCELENTE EXPOSICION HECTOR ME A AYUDADO MUCHO GRACIAS SOLO QUE NO AGREGA EL
CERO AL PRINCIPIO NO SE SI ME PUEDAS AYUDAR EN ESTE CAMBIO GRACIAS

"Héctor Miguel" escribió:

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



Respuesta Responder a este mensaje
#3 Héctor Miguel
20/06/2007 - 01:53 | Informe spam
hola, Alejandro !

... SOLO QUE NO AGREGA EL CERO AL PRINCIPIO ...



el cero que se encuentra donde ?
o al principio de que ? [del archivo, de cada linea, de cada celda, ?]

comentas algo mas... 'descriptivo' ?
saludos,
hector.

__ la consuta original __
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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida