Aplicación para importar archivo de texto especial

Aquí podrá encontrar distintos proyectos realizados por los usuarios de esta comunidad, quienes han querido compartir su trabajo para que sirva de punto de partida a nuevos proyectos
Reglas del Foro
Este foro no es para hacer preguntas. Aquí se presentan proyectos completos (bases de datos, hojas de cálculo, etcétera). Si desea discutir esos temas o realizar preguntas, por favor utilice los subforos apropiados
Responder
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Aplicación para importar archivo de texto especial

Mensaje por PepeOooSevilla »

Hola compañeros de Foro.
Me gustaría compartir con vosotros una aplicación que he programado para facilitarme el trabajo administrativo diario.
No es una aplicación que se pueda usar tal cual. Tendría que ser adaptada de acuerdo con las necesidades de cada uno, pero puede servir para ver la manera en que he resuelto "mi problema".
¿Qué es lo que hace esta aplicación?
En pocas palabras, importar un archivo de texto procedente de un informe de una base de datos, pero con la particularidad que un registro está dividido en varias líneas del archivo. Por esa razón no se puede utilizar el asistente para importar archivos CSV/TXT.
El archivo de texto de muestra se adjunta comprimido en formato zip para que veáis el formato del informe. Obviamente he eliminado todos los datos reales. Probad la macro con ese archivo, una vez descomprimido, para ver el resultado.
¿Cómo lo hace?
Al abrir el documento Calc se ejecuta la macro que carga un cuadro de diálogo desde donde se selecciona el archivo TXT a importar. Una vez comprobado que la extensión es TXT y que el archivo existe, se crea un nuevo documento de hoja de cálculo que es el que va a recibir los datos de la importación. En la "barra de estado" se va mostrando el número de líneas leídas cada X líneas, de acuerdo con el valor que le hayamos asignado en el código.
Al finalizar la importación se crea un filtro, se formatean las columnas y se eliminan las hojas vacías. La fila donde se escriben los subtotales es la indicada en el cuadro de diálogo (o bien la primer fila, o bien la última).
¿Se puede mejorar?
Pues claro que sí. Tened en cuenta que no me dedico profesionalmente a la programación de aplicaciones. Simplemente soy un programador aficionado.
¡Atención! Está programada en AOO Calc 4.0.1 y la utilizo en Windows XP y Windows 7 (nadie es perfecto :lol: :lol: ). No tengo posibilidad de probarla en otros sistemas (Linux, ...) así que no sé si funciona en estos sistemas.
Para no repetirme Simplemente muchas gracias y saludos cordiales.
Adjuntos
MACRO_CALC_IMPORTAR_TXT_v40_FORO.ods
Aplicación
(16.85 KiB) Descargado 805 veces
EJEMPLO PARA PUBLICAR.zip
Archivo TXT comprimido
(2.28 KiB) Descargado 639 veces
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
xiseme
Mensajes: 1918
Registrado: Lun Nov 24, 2008 1:13 pm

Re: Aplicación para importar archivo de texto especial

Mensaje por xiseme »

Gracias (y muchas) a tí por compartir tu trabajo.

[modo broma on]
No tengo posibilidad de probarla en otros sistemas (Linux, ...
¡Ah no! ¡eso si que no! :mrgreen: No tienes ninguna necesidad; no tienes porqué, pero posibilidad sí. Con un Live-CD /Live-USB, ni siquiera hay que instalar.
[modo broma off]
Todo es mejorable, estamos dispuestos a mejorar. ¿Yo? ... poco a poco.
Nunca hay acritud en mis comentarios, si lo pareciera, seguro que me he expresado mal.
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Aplicación para importar archivo de texto especial

Mensaje por RMG »

Muy buena utilidad, gracias por compartirla. Decirte que a mi me pasa como a ti, programamos por afición, empezamos por necesidad de tener una herramienta que nos facilite el trabajo administrativo del día a día y al final le cogemos el gusanillo y ya no lo dejamos.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Aplicación para importar archivo de texto especial

Mensaje por fornelasa »

Hola a todos....
Ya saben siempre hay un "aguafiestas" :ouch:

Primero, me parece que las interfaces con el usuario esta bien diseñadas, obvio se ve buen trabajo, es decir....bien bien... todo bien en la programación.......pero....
PepeOooSevilla llevo 2 horas o más tratando de importar un archivo de texto y "nomas" nada de nada, por lo tanto tengo una pregunta:
Me imagino que si el archivo de texto no tiene el formato exacto que indicas en el archivo zip entonces la aplicación no funciona, ¿es así?, digo lo anterior porque entonces..... si el formato de donde se bajan los datos no viene de tal suerte entonces la aplicación no "jala", es decir, si mi base de datos no genera tal formato ¿ya valí "chetos"?

chetos = "soy vulnerable y ya perdí"

¿como ves? ¿pudieras orientarme más?

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Aplicación para importar archivo de texto especial

Mensaje por PepeOooSevilla »

Hola.
Iré por orden ...
xiseme: Llevas muchísima razón. Me haré con uno lo más pronto posible.
RMG: Qué verdad es que al final le cogemos el gusto y ya no lo dejamos. Cuando me asignan una nueva tarea, lo primero que me pregunto es ¿se puede automatizar de alguna manera para ahorrarme trabajo?
FORNELASA:
Me imagino que si el archivo de texto no tiene el formato exacto que indicas en el archivo zip entonces la aplicación no funciona, ¿es así?
Efectivamente, te confirmo tus temores. Sólo funciona si el archivo TXT a importar tiene el formato exacto del TXT que he adjuntado. Siento de veras que hayas perdido tu tiempo.
En el código puedes ver, por ejemplo, que a la variable "NumCampos" le asigno el valor de 27 porque de este tipo de informe son los campos que me interesan. El array "Inicio()" guarda un entero que indica en qué posición de la línea leída comienza el dato correspondiente a ese campo y el array "NumCar()" guarda el número de caracteres que hay que leer. Como puedes observar está hecha totalmente a la medida de ese informe.
Y ahora me cito a mí mismo
No es una aplicación que se pueda usar tal cual. Tendría que ser adaptada de acuerdo con las necesidades de cada uno, pero puede servir para ver la manera en que he resuelto "mi problema".
La probabilidad de que exista otro informe igual fuera de la organización donde trabajo es cero, por tanto, no es una macro que se pueda utilizar sin hacerle previamente las modificaciones necesarias para que se pueda usar para importar otro tipo de informe. Sí puede ayudar para que otros compañeros vean el código y para que lo utilicen en sus propias macros, eso sí, con las modificaciones oportunas.
Saludos cordiales y muchas gracias por vuestros comentarios. :super:
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Aplicación para importar archivo de texto especial

Mensaje por fornelasa »

ok bien, gracias por la explicación, ahora es claro para mi :super:
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Aplicación para importar archivo de texto especial

Mensaje por SLV-es »

Gracias PepeOOoSevilla por compartir con todos tu trabajo, y como tantas otras veces, de nuevo gracias por tus tan acertadas colaboraciones.

Un abrazo.
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Responder