¿ Como creo un archivo de texto con la información en excel ?

22/04/2006 - 20:01 por Patricita | Informe spam
Utilizando una macro quiero seleccionar ciertas columnas de una hoja de
cálculo en exel y con esa información crear un archivo plano de texto de un
tamaño determinado sin que se defase la información y sobre todo con no lleve
caracteres raros y null´s

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
23/04/2006 - 04:41 | Informe spam
hola, Patricita !

Utilizando una macro quiero seleccionar ciertas columnas de una hoja... y... crear un archivo plano de texto
de un tama#o determinado sin que se desfase la informacion y sobre todo no lleve caracteres raros y null´s



[creo que] existen suficientes alternativas para lograr el objetivo que mencionas ;) [es solo que]...
haria falta conocer unos 'ciertos' detalles que no has comentado [p.e.]
-> cuales serian las 'ciertas' columnas que mencionas ?
-> que significa... 'tama#o determinado' ?
[te refieres al tama#o del archivo resultante ?... o al tama#o 'final' de las columnas ?]
-> a que te refieres con que NO 'se desfase la informacion' y... cuales serian los 'caracteres raros' ?
-> [p.e.] en que tipo de 'aplicacion' vas a 'leer' el archivo plano de texto resultante ?
[probablemente, el desfasamiento se origine por las caracteristicas de dicha aplicacion] -?-

comentas algun detalle mas... concreto' ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Patricita
23/04/2006 - 07:37 | Informe spam
La información que seleccionaría de la hoja de excel es:
- fecha dd/mm/aaaa
- cargo o abono (A o C)
- Importe (12 enteros, 2 decimales con punto decimal)
- Descripción ( 50 caracteres)
- y otros campos
Los caracteres "raros" a los que me refiero son aquellos que están pero que
no son
imprimibles.
El archivo resultante entra a una aplicación en cobol 85
el tamaño del archivo de texto a crear es de 140 caracteres

"Héctor Miguel" escribió:

hola, Patricita !

> Utilizando una macro quiero seleccionar ciertas columnas de una hoja... y... crear un archivo plano de texto
> de un tama#o determinado sin que se desfase la informacion y sobre todo no lleve caracteres raros y null´s

[creo que] existen suficientes alternativas para lograr el objetivo que mencionas ;) [es solo que]...
haria falta conocer unos 'ciertos' detalles que no has comentado [p.e.]
-> cuales serian las 'ciertas' columnas que mencionas ?
-> que significa... 'tama#o determinado' ?
[te refieres al tama#o del archivo resultante ?... o al tama#o 'final' de las columnas ?]
-> a que te refieres con que NO 'se desfase la informacion' y... cuales serian los 'caracteres raros' ?
-> [p.e.] en que tipo de 'aplicacion' vas a 'leer' el archivo plano de texto resultante ?
[probablemente, el desfasamiento se origine por las caracteristicas de dicha aplicacion] -?-

comentas algun detalle mas... concreto' ?
saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
23/04/2006 - 08:40 | Informe spam
hola, Patricita !

La informacion que seleccionaria de la hoja de excel es:
- fecha dd/mm/aaaa
- cargo o abono (A o C)
- Importe (12 enteros, 2 decimales con punto decimal)
- Descripcion ( 50 caracteres)
- y otros campos
Los caracteres "raros" a los que me refiero son aquellos que estan pero que no son imprimibles.
El archivo resultante entra a una aplicacion en cobol 85
el tama#o del archivo de texto a crear es de 140 caracteres



1) supongo que por los 140 caracteres, te refieres al numero de caracteres
-> que 'debieran' quedar... -> por linea... -> en el archivo 'resultante' -?-

2) [para lo cual] seria conveniente 'conocer' los caracteres de los... -> 'y otros campos' [que mencionas]
[tambien es probable que necesites de la funcion Format(...) de vba por codigo, pero... ???]

3) [probablemente] podrias hacer una 'conversion directa' [por macros] de los formatos necesarios de cada columna...
[p.e.] dependiendo de si necesitas 'ver reflejados' ceros y/o espacios 'vacios' si no se cumple el numero de caracteres -?-
y luego hacer una 'grabacion directa' [o por macros] usando algun 'tipo de archivo' que sea 'reconocible' para cobol ;)
-> independientemente de la EXTension que necesites para 'el archivo'... existen diversos tipos de formatos...
[p.e.] -> xlCSV, xlCSVMSDOS, xlTextMSDOS, xlTextPrinter, xlTextWindows, etc. [estos desde vba]

4) para 'limpiar' de caracteres raros [o no imprimibles], existen funciones de hoja de calculo que 'hacen lo propio'...
{p.e.] limpiar(...), caracter(...), espacios(...) que podrias [incluso necesitar]... 'combinar' -?-

5) podrias exponer [p.e. unas cuantas] lineas de algun archivo YA probado/aceptado/... por cobol ?
y luego complementar con el tipo de datos que se van a encontrar en 'la hoja' que se necesita 'convertir' -?-
-> toma en cuenta que algunas veces, los 'detalles' [importantes] que se omiten... podrian 'hacer la diferencia'
[p.e. el conocer cuantos caracteres HAY en cada columna... y cuantos DEBIERAN 'pasar' al archivo 'plano'] -???-

comentas 'por donde' le buscamos una solucion a tu inquietud ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Francisco Mty
24/04/2006 - 00:24 | Informe spam
Hola ... !!!

Tu rutina en cobol hace un read del archivo asignando alguna longitud de la
cadena sustraida del TXT ?
O bien, distingue caracteres ( por mencionar " - " o " | " ) para delimitar
los campos sustraidos de la cadena del TXT ?
El programa lo tienes corriendo desde DOS o UNIX ?
Respuesta Responder a este mensaje
#5 Francisco Mty
24/04/2006 - 02:52 | Informe spam
Revisa este codigo:

Dim micade As String
Range("a2").Select
Open "c:\datos.txt" For Output As 1
Do Until ActiveCell.Value = Empty
micade = ActiveCell.Value & "-" & ActiveCell.Offset(0, 2) & "-" &
ActiveCell.Offset(0, 4) & "-" & ActiveCell.Offset(0, 5)
Write #1, micade
ActiveCell.Offset(1, 0).Select
Loop
Close #1
' Para visualizar el resultado
Shell "notepad.exe C:\datos.txt"
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida