Ir al contenido principal

manejo de archivos de texto con macros - parte I

Visual Basic s(y por ende, VBA)iempre se caracterizó por ser una herramienta muy poderosa a la hora de operar con archivos de texto. Las operaciones de lectura/escritura en dichos archivos se realizan a una velocidad impresionante y su uso, en términos generales y para las rutinas de baja/mediana complejidad, es muy sencillo.
Debemos reconocer que también a los TXT se los mira con cierta "desconfianza", llevando esto a ignorar su verdadero potencial. Ejemplo: hace un par de años en el trabajo me encargaron ciertas labores informáticas, las cuales incluían el manejo de un par de millones de registros. Bueno, pensé, o utilizo MySql o bien divido semejante info en varias bases de datos de Access y se terminó el problema. Al requerir algunos de los citados programas... no, no hay licencias disponibles, como así tampoco no es posible utilizar otro tipo de soft. Entonces, los TXT vinieron en mi ayuda.
como soy un "windows' boy" irremediable, utilizo al querido Bloc de Notas, pero existen cientos de alternativas, como por ejemplo el excelente NotePad ++ (open source) ideal para programadores.

[+/-] Ver el resto / Ocultar

Comentarios

  1. Hola. Agradezco tu dedicación y la claridad con que lo explicas.
    Mi reto es, a partir de tu explicación, conseguir extraer datos de un TXT y exportarlos a otro TXT, preferiblemente sin tener que pegar los datos previamente a una hoja de Excel. El TXT origen contiene varias veces una cadena de texto determinada pero ésta se encuentra en líneas que no siguen ningún patrón. Un ejemplo:

    me levanto
    trabajo
    duermo 8 horas
    me levanto
    salgo a correr
    trabajo
    duermo 7 horas
    me levanto
    trabajo
    voy al cine
    duermo 7 horas

    (Aclaro que como todos los días y que normalmente hago algunas cosas más, pero esto es sólo un ejemplo)

    Pretendo crear un archivo de texto con una sola columna que contenga las horas que voy durmiendo:
    8
    7
    7

    En fin, voy a ello.
    Un saludo.

    ResponderEliminar
  2. bien luis, de primera el tema que planteas y es totalmente factible de ser realizado.
    comienzo a trabajar en un post al respecto, así te lo explico claramente.
    apenas lo termine te aviso. gracias x tus palabras.

    ResponderEliminar
  3. aquí terminé el post con tu consulta:
    http://damianexcel.blogspot.com/2010/12/interactuar-con-dos-archivos-de-texto.html

    al final encontrarás el link al archivo, con el ejemplo.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

macros: como enviar mails desde Excel (vba)

Un gran amigo "on-line", Johan Moreno, de Colombia , me hizo llegar la inquietud de cómo enviar mails desde Excel . Si bien contaba con algunas líneas de código sobre el particular, decidí retomar mi ejemplo y adaptarlo mejor a las circunstancias. Hace unos minutos termino de remitirle un correo con la solución a Johan... desde Excel y con un archivo adjunto, mismo que transcribo a continuación para ayudar a todos con esta tarea. Veamos primero las dos formas principales de enviar mails: mediante Outlook o nuestro Web Mail ( yahoo, gmail, hotmail, etc, etc ) No soy usuario de Outlook en lo absoluto: no confío en los agujeros de seguridad que continuamente aparecen y, por otro lado, t eniendo a mi alcance una herramienta tan poderosa (y gratuita) como Gmail, la cual ahora también permite sincronizar los mensaje con la Pc para verlos offline (deben activarlo en "google labs") ... no creo que me haga usuario ni hoy ni mañana. Igualmente mas adelante daré una solució

funciones: convertir numeros a letras con excel

En realidad hace tiempo que vienen consultándome sobre esto... quizás cinco o seis años . Debe ser una de las funciones mas buscadas de Excel, por lejos: la posibilidad de escribir: 1.534,63 y que en una celda aparezca magicamente "un mil quinientos treinta y cuatro c/15/100". Aquí les dejo una solución, basada en funciones , sin utilizar macros, la cual preparé exclusivamente para este Blog. A pesar de los millones de usuarios que requieren esta herramienta, no viene incorporada en Excel, debemos armarla nosotros mismos .  Luego de la imagen irá la explicación de como llegué a lograr esto, dado que es un proceso medianamente complejo , que utiliza tres o cuatro funciones básicas y requiere de varios pasos. así quedará nuestra planilla y siempre devolverá en letras el valor que ingresemos en A1 [+/-] Ver el resto / Ocultar Desde ya aclaro: esta no es " la forma " de hacerlo, simplemente es una mas, evitando el uso de macros. Sobre esta base, comencemos: 1) El núme

sopa de letras en excel

Un lector me comenta que pudo visualizar varias sopas de letras en YouTube, realizadas con Excel. Inmediatamente me dirigí a dicho sitio y busqué información al respecto. Los ejemplos son buenos y si, efectivamente, podemos armar una muy buena "sopa de letras", salvo que (digamos) es un trabajo bastante manual, cosa que intento evitar a toda costa en mis proyectos. Obviamente que la tarea de automatización incluye Macros, lo cual me insume tiempo, pero queda mucho mejor. Vamos primero a explicar muy brevemente la forma de realizar esta juego "a la clásica", para luego pasar a un desarrollo mucho mas complejo, pero también automatizado y realista. la clásica grilla de una sopa de letras [+/-] Ver el resto / Ocultar Bien, analicemos un poco la imagen superior: 1) es una grilla de 20 filas x 20 columnas, aunque bien podríamos hacerla del tamaño que quisiéramos. 2) Cada celda tiene una letra, que fue generada  mediante la anidación de dos funciones. 3) Vean ahora la ba