Excel - Generar Archivo TXT

 
Vista:

Generar Archivo TXT

Publicado por Jose Gpe Sanz (75 intervenciones) el 10/10/2009 09:58:58
Saludos Foro

en las primera 20 columnas tengo cierto datos

quiero generar un archivo .txt con un seprador | Piper

Tengo este codigo

Open "c:\pruebaxx.txt" For Output As #1
Print #1, Chr(34) & Range("C6").Value & Chr(34); "|";
Print #1, Chr(34) & Range("D6").Value & Chr(34); "|";
Print #1, Chr(34) & Range("E6").Value & Chr(34); "|";
Close #1

Pero en el archivo generado tengo:

"04. Nacional"|"03. Prest serv prof"|"

Como hago para quitarle las " " (comas) y dejar solo el separador Piper....?

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:Generar Archivo TXT

Publicado por JuanC (1237 intervenciones) el 10/10/2009 12:49:59
elimina el Chr(34)

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Generar Archivo TXT

Publicado por Jose Gpe Sanz (75 intervenciones) el 10/10/2009 20:09:03
Gracias por tu ayuda

Tengo otra duda
este codigo es para la primera fila
Sub TXT()
Open "c:\pruebaxx.txt" For Output As #1
Print #1, "|"; Range("C6").Value;
Print #1, "|"; Range("D6").Value;
Print #1, "|"; Range("E6").Value;
Close #1
End Sub

Pero como seria para la segunda fila y asi sucesivamente

Print #1, "|"; Range("C7").Value;
Print #1, "|"; Range("D7").Value;
Print #1, "|"; Range("E7").Value;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Generar Archivo TXT

Publicado por JuanC (1237 intervenciones) el 11/10/2009 13:06:16
Sub TXT()
Dim i&
Open "c:\pruebaxx.txt" For Output As #1
For i = 6 To 100
Print #1, "|"; Range("C" & i).Value;
Print #1, "|"; Range("D" & i).Value;
Print #1, "|"; Range("E" & i).Value;
Next
Close #1
End Sub

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Generar Archivo TXT

Publicado por Jose Gpe Sanz (75 intervenciones) el 16/10/2009 19:35:13
Saludos

Open "C:\pruebaxx.txt" For Output As #1
For i = 6 To 9
Print #1, "|"; Range("C" & i).Value;
Print #1, "|"; Range("D" & i).Value;
Print #1, "|"; Range("E" & i).Value;
Print #1, "|"; Range("F" & i).Value;
Print #1, "|"; Range("G" & i).Value;
Print #1, "|"; Range("H" & i).Value;
Print #1, "|"; Range("I" & i).Value;
Print #1, "|"; Range("J" & i).Value;
Print #1, "|"; Range("K" & i).Value;
Print #1, "|"; Range("L" & i).Value;
Print #1, "|"; Range("M" & i).Value;
Print #1, "|"; Range("N" & i).Value;
Print #1, "|"; Range("O" & i).Value;
Print #1, "|"; Range("P" & i).Value;
Print #1, "|"; Range("Q" & i).Value;
Print #1, "|"; Range("R" & i).Value;
Print #1, "|"; Range("S" & i).Value;
Print #1, "|"; Range("T" & i).Value;
Print #1, "|"; Range("U" & i).Value;
Print #1, "|"; Range("V" & i).Value;
Next
Close #1
End Sub

Algo falta en el codigo:
lo que busco es Quede de la siguiente forma
utilizo las primeras 20 columnas de la hoja

04|06|AOAJ5902068Z0|||||6847||||||||||||| Datos Primera Fila
04|07|CAAJ260407S86|||||2968||||||||||||| Datos Segunda Fila

a ver si me puede ayudar
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Generar Archivo TXT

Publicado por JuanC (1237 intervenciones) el 16/10/2009 21:28:20
Te sugiero que leas en la ayuda como funciona Print
y también puede llegar a servirte usar el operador de concatenación &
La ayuda no muerde!

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Generar Archivo TXT

Publicado por Jose Gpe Sanz (75 intervenciones) el 19/10/2009 22:11:28
Public Sub ArchivoTXT()
Open "C:\pruebaxx2.txt" For Output As #1
Dim i ' las filas
Dim j ' as columnas
' esto es el equivalente a range a1:e5
For i = 6 To 200
e = ""
For j = 3 To 22
e = e & Worksheets(1).Cells(i, j).Value & "|"
Next j
Print #1, e
Next i
Close #1
End Sub

Tome tu consejo y me puse a estudiar y entendi el funcionamiento de este codigo
que me sirvio mucho para lo que pretendo hacer, pero tu sabes surgen ideas, dudas y mi unico medio de aprender es este.

La cuestion es lo siguiente: despues de generar el archivo txt, lo tengo que subir a un Sistema que no propociona una dependencia de Gobierno.
ya lo subi y si funciono.

Pero me surgen 2 Dudas:

como al pricipio no se cuantos registros se van a generar
entonces tengo que cambiar esta parte del codigo "For i = 6 to 200 (de la fila 6 a la 200)" y ponerle hasta que fila se encuentran los registros generados.

Aqui entra mi Primer Prgunta, cono le haria para que cuando ejectue el macro "Me pregunte hasta que fila se encuentra el Ultimo Registro Generado, ponerle el dato manual.

Esto es para cuando suba el archivo al sistema mencionado sean los exactos.

La Segunda Pregunta es parecida en cuanto al mensaje anterior pero esta vez que me pregunta el "Como se va a llamar el archivo"

Espero haberme explicado.

Gracias por la ayuda que me puedas brindar

Saludos desde Saltillo Mexico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Generar Archivo TXT

Publicado por JuanC (1237 intervenciones) el 19/10/2009 23:02:25
un forma es crear un formulario personalizado
y otra forma es usando la función InputBox( ) (ver en la ayuda de qué se trata)

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar