Saltar al contenido

Generar Archivos TXT desde excel

La creación de archivos TXT a partir de datos de Excel puede ser una tarea tediosa, especialmente cuando se trata de una gran cantidad de información. Por suerte, las macros en Excel pueden facilitar este proceso de manera significativa. En este artículo, te mostraremos cómo crear una macro en Excel para generar archivos TXT rápidamente y eficientemente.

En otro articulo tratamos como hacer un macro en excel para convertir numero a letras, en este optimizar la tarea de crear un archivo en TXT desde 3 forma formas distintas usando offices script , vba o desde la opcion de exportar.

Índice

    Introducción

    El procesamiento y análisis de datos en Excel es una tarea común en muchas organizaciones. Sin embargo, a veces, es necesario exportar estos datos a un formato más universal como TXT. A continuación, te presentamos tres métodos para realizar esta tarea: mediante VBA, Office Scripts y Office Online.

    Generar archivo de txt con VBA

    Sigue estos pasos para generar crear un macro el cual podras perzonalizar para generar un archivo de txt o csv de pendera de la extension que utilices.

    Paso 1: Preparar la Hoja de Cálculo

    Antes de comenzar a escribir la macro, es necesario preparar la hoja de cálculo con la información que deseas exportar a un archivo TXT. Asegúrate de que tus datos estén organizados en columnas y filas claramente etiquetadas.

    Preparar la Hoja de Cálculo

    Paso 2: Abrir el Editor VBA

    1. Abre Excel y accede a la hoja de cálculo que contiene los datos que deseas exportar.
    2. Presiona ALT + F11 para abrir el Editor VBA (Visual Basic for Applications).
    3. Ve al menú Insertar y selecciona Módulo para insertar un nuevo módulo en el proyecto.

    Paso 3: Crear la Macro para Exportar Datos a TXT

    A continuación, escribe el siguiente código en el módulo creado:

    Sub ExportarDatosTXT()
        Dim rutaArchivo As String
        Dim fila As Long, columna As Long
        Dim textoArchivo As String
        
        
        rutaArchivo = "C:\Ejemplo\datos.txt"
        
        For fila = 1 To Cells(Rows.Count, 1).End(xlUp).Row
            For columna = 1 To Cells(1, Columns.Count)
               .End(xlToLeft).Column
               textoArchivo = textoArchivo & 
                  Cells(fila, columna).Value & vbTab
            Next columna
           textoArchivo = textoArchivo & vbCrLf
        Next fila
        
       Open rutaArchivo For Output As #1
        Print #1, textoArchivo
        Close #1
        
        MsgBox "Datos exportados con éxito a "
          & rutaArchivo, vbInformation, 
          "Macro Excel para Generar TXT"
    End Sub

    Este código crea una macro llamada ExportarDatosTXT que recorre todas las filas y columnas de la hoja de cálculo, concatena los valores de las celdas en una cadena de texto y escribe los datos en un archivo TXT.

    Paso 4: Personalizar la Ruta del Archivo de Salida

    En el código proporcionado, la ruta del archivo de salida se establece en C:\Ejemplo\datos.txt. Puedes modificar esta ruta según tus necesidades, asegurándote de que la carpeta de destino exista en tu computadora.

    Paso 5: Ejecutar la Macro

    Para ejecutar la macro, sigue estos pasos:

    1. Vuelve al Editor VBA y selecciona la macro ExportarDatosTXT en el módulo.
    2. Presiona F5 o ve al menú Ejecutar y selecciona Ejecutar Sub/UserForm. La macro se ejecutará y exportará los datos de la hoja de cálculo a un archivo TXT en la ruta especificada.

    Paso 6: Verificar la Creación del Archivo TXT

    Una vez que la macro haya finalizado, navega a la carpeta de destino y verifica que se haya creado el archivo TXT con los datos exportados correctamente.

    Si es necesario, puedes abrir el archivo en un editor de texto para asegurarte de que la información se haya guardado en el formato deseado.

     Creación del Archivo TXT

    Consejos Adicionales para Optimizar la Macro

    Aquí hay algunas recomendaciones para mejorar la macro y adaptarla a tus necesidades específicas:

    Ajustar el Delimitador de Datos

    Por defecto, la macro utiliza el carácter de tabulación (vbTab) como delimitador entre los datos de las columnas en el archivo TXT. Si prefieres utilizar otro delimitador, como una coma o un punto y coma, simplemente reemplaza vbTab en el código por el delimitador deseado.

    Por ejemplo, para utilizar una coma, cambia la línea:

    textoArchivo = textoArchivo & Cells(fila, columna).Value & vbTab
    

    a

    textoArchivo = textoArchivo & Cells(fila, columna).Value & ","
    

    Exportar solo Datos Seleccionados

    Si deseas exportar solo una parte de los datos en la hoja de cálculo, puedes ajustar el rango de filas y columnas en el código. Por ejemplo, para exportar solo las filas 2 a 10 y las columnas 1 a 5, modifica las líneas de los bucles For de la siguiente manera:

    For fila = 2 To 10
        For columna = 1 To 5
    

    Incluir Encabezados de Columna

    Si quieres incluir los encabezados de columna en el archivo TXT, asegúrate de que el bucle For que recorre las filas comience en la primera fila. Por defecto, la macro ya está configurada para hacer esto, pero si modificaste el rango de filas, vuelve a ajustarlo para incluir la primera fila.

    En resumen, esta guía te muestra cómo crear una macro en Excel para exportar datos a archivos TXT de manera eficiente y personalizada. Con solo unos pocos ajustes en el código, puedes adaptar esta macro para satisfacer tus necesidades específicas y ahorrar tiempo en el proceso de exportación de datos.

    Proteger la Macro con Contraseña

    Es posible que desees proteger el acceso al código de la macro con una contraseña para evitar que usuarios no autorizados lo modifiquen. Para hacerlo, sigue estos pasos:

    1. En el Editor VBA, ve al menú Herramientas y selecciona Propiedades del Proyecto VBA....
    2. En la ventana Propiedades del Proyecto VBA, selecciona la pestaña Protección.
    3. Marca la casilla Bloquear el proyecto para ver.
    4. Ingresa una contraseña en los campos Contraseña y Confirmar contraseña.
    5. Haz clic en Aceptar para aplicar la protección.

    A partir de ahora, cuando alguien intente acceder al código de la macro, se le solicitará que ingrese la contraseña.

    Crear un Botón para Ejecutar la Macro

    Para facilitar aún más el uso de la macro, puedes agregar un botón en la hoja de cálculo que permita ejecutarla con un solo clic. Para hacer esto, sigue estos pasos:

    1. Ve a la hoja de cálculo en la que deseas agregar el botón.
    2. Haz clic en la pestaña Desarrollador en la cinta de opciones. Si no ves la pestaña Desarrollador, debes habilitarla en las Opciones de Excel > Personalizar cinta de opciones > marca la casilla Desarrollador.
    3. En el grupo Controles, haz clic en Insertar y selecciona el control Botón (Control de formulario).
    4. Dibuja el botón en la hoja de cálculo.
    5. En el cuadro de diálogo Asignar macro, selecciona la macro ExportarDatosTXT y haz clic en Aceptar.
    6. Haz clic derecho en el botón y selecciona Editar texto para cambiar el texto del botón a algo más descriptivo, como «Exportar a TXT».

    Ahora, los usuarios pueden ejecutar la macro simplemente haciendo clic en el botón en la hoja de cálculo.

    En conclusión, hemos revisado cómo crear una macro en Excel para exportar datos a archivos TXT de manera eficiente, personalizarla según tus necesidades, proteger el código con contraseña y agregar un botón para facilitar su uso. Con estos consejos y herramientas, puedes optimizar el proceso de exportación de datos y mejorar la productividad en tus tareas relacionadas con Excel.

    Creación de un Script de Office para Exportar Datos

    Office Scripts es una característica de Excel en la web que permite automatizar tareas. Aunque no permite escribir directamente en un archivo TXT, puedes generar una cadena de texto que luego puede copiarse y pegarse en un archivo TXT.

    Paso 1: Abrir el Editor de Scripts de Office

    Abre tu libro de Excel en la web, ve a la pestaña Automatizar y haz clic en Código para abrir el Editor de Scripts de Office.

    Paso 2: Crear y Ejecutar el Script

    En el Editor, crea un nuevo script y escribe el siguiente código:

    function main(context: Excel.RequestContext) {
        const hoja = context.workbook
        .worksheets.getActiveWorksheet();
        const rango = hoja.getUsedRange();
        await context.sync();
    
        let datos = rango.values;
        let textoArchivo = "";
    
        for (let fila of datos) {
            textoArchivo += fila.join("\t") + "\n";
        }
    
        console.log(textoArchivo);
    }

    Este código obtiene la hoja activa, recupera el rango de celdas usadas y genera una cadena de texto con los datos, que imprime en la consola.

    Exportación de Datos con Office Online

    Si estás utilizando Office Online, puedes exportar tus datos a un archivo TXT siguiendo estos pasos:

    Paso 1: Preparar los Datos

    Verifica que tus datos estén correctamente organizados en la hoja de cálculo de Excel. Las filas y columnas deben estar claramente etiquetadas.

    Paso 2: Exportar a CSV

    1. Haz clic en la pestaña Archivo en la cinta de opciones.
    2. Selecciona Guardar como.
    3. Elige Descargar como CSV.

    Tu hoja de cálculo se descargará como un archivo CSV, que es un archivo de texto que usa comas para separar los valores.

    Paso 3: Convertir CSV a TXT

    Una vez descargado el archivo CSV, puedes cambiar su extensión a .txt para convertirlo en un archivo de texto plano. Si prefieres que los valores estén separados por tabulaciones (como en un archivo TXT generado por una macro de Excel), deberás abrir el archivo CSV en un editor de texto y reemplazar todas las comas por tabulaciones.

    Conclusión

    Ya sea que prefieras utilizar VBA en Excel de escritorio, Office Scripts en Excel en la web, o simplemente necesites una solución rápida con Office Online, estos métodos te permitirán exportar tus datos de Excel a un archivo TXT de manera eficiente. Cada uno tiene sus propias ventajas, por lo que puedes elegir el que mejor se adapte a tus necesidades y habilidades. Recuerda que la optimización y automatización de tus tareas relacionadas con Excel puede mejorar significativamente tu productividad.