Cómo usar las macros de ONLYOFFICE para automatizar la limpieza de hojas de cálculo

La limpieza de hojas de cálculo es un proceso repetitivo: los nombres exportados contienen espacios adicionales, el texto pegado incluye espacios de no separación y las fórmulas o los identificadores pueden dañarse con sustituciones extensas. Una macro de ONLYOFFICE puede estandarizar el texto en un rango definido, sin modificar los valores numéricos ni las celdas con fórmulas. El ejemplo siguiente solo gestiona los espacios en blanco; la eliminación de duplicados, la conversión de fechas y la eliminación de filas en blanco requieren reglas independientes.

Documentación revisada el 6 de octubre de 2026. Las macros de ONLYOFFICE utilizan JavaScript con la API de JavaScript de Office, no VBA de Excel. La documentación actual del editor abre el espacio de trabajo de macros desde Ver → Macros . La apariencia exacta de la barra de herramientas puede variar entre las ediciones de escritorio y las alojadas.

Tareas de limpieza que esta macro puede realizar

La muestra elimina los espacios o tabulaciones iniciales y finales, convierte los espacios de no separación en espacios normales y elimina los espacios o tabulaciones repetidos dentro del texto. Omite las fórmulas y los valores que no son cadenas de texto. Este alcance limitado reduce la posibilidad de modificar fechas, cantidades o celdas calculadas al preparar una importación recurrente.

Problema de datosLo que hace la muestraRevisar antes de automatizar
Espacios y tabulaciones al principio o al finalLos elimina de las celdas de textoGeneralmente es seguro para nombres y etiquetas, pero revise los campos donde el espaciado sea significativo.
Espacios sin rupturaLos reemplaza con espacios regularesÚtil para texto web copiado; compruebe aleatoriamente el campo fuente.
Espacios o tabulaciones repetidosCada carrera se reduce a un solo espacio.No utilizar sobre texto de ancho fijo ni sobre sangría intencionada.
Fórmulas, números y operadores booleanosLos deja sin cambiosVerifique que las celdas de fórmula sigan calculando después de la ejecución.
Filas duplicadas, fechas duplicadas, filas en blancoNo los cambiaPrimero, defina las reglas de negocio; no se trata simplemente de una limpieza superficial.

1. Prepare una copia y defina el rango.

Guarde una copia de trabajo de la hoja de cálculo antes de ejecutar cualquier macro que modifique celdas. Identifique la hoja de cálculo y las filas de datos que desea limpiar. En el código siguiente, A2:D500se muestra un rango de ejemplo: se supone que la fila 1 contiene encabezados y se esperan datos en las columnas A a D. Modifique esta ruta para que coincida con su hoja. Utilice un rango delimitado que abarque los registros deseados y no incluya notas, fórmulas ni columnas irrelevantes.

Una hoja de cálculo de ONLYOFFICE con columnas para Cliente, Ciudad y Estado, y cuatro registros de ejemplo.
Una hoja de cálculo pequeña proporciona una muestra delimitada; mantenga la fila de encabezado fuera del rango de limpieza.

Para una primera prueba, copie algunos registros representativos en una hoja temporal o duplique el archivo y reduzca el rango, por ejemplo A2:D10, . Incluya ejemplos con espacios normales, texto pegado, celdas en blanco y fórmulas para que pueda confirmar cómo la macro procesa cada caso.

2. Abra el editor de macros de ONLYOFFICE.

Abra la hoja de cálculo en el Editor de hojas de cálculo de ONLYOFFICE y seleccione Ver → Macros . Cree una nueva macro en la ventana de macros o seleccione un nuevo módulo y asígnele un nombre claro, como por ejemplo CleanTextWhitespace. La guía oficial de introducción a las macros de ONLYOFFICE documenta este punto de entrada y el control de ejecución.

Editor de hojas de cálculo de ONLYOFFICE con la pestaña Vista seleccionada y el control Macros visible en la cinta de opciones.
La cinta de opciones Vista contiene el control Macros, que se utiliza para abrir el espacio de trabajo de macros.

Si las macros están deshabilitadas en la configuración de su editor, revise Configuración → Configuración avanzada → Macros . ONLYOFFICE documenta opciones para deshabilitar macros, mostrar una notificación o habilitarlas. Para un libro de trabajo que no haya creado usted, no habilite todas las macros globalmente solo para ejecutar un script; inspeccione el código y siga la política de su organización.

3. Pegue esta macro delimitada y que reconoce fórmulas.

Pegue el código en el editor de macros. Modifíquelo A2:D500antes de ejecutarlo. Los métodos de rango utilizados aquí están documentados en la referencia GetRange de la hoja de cálculo , la referencia GetCells del rango y las páginas de la API para GetFormula , GetValue y SetValue .

(function () {
    var oSheet = Api.GetActiveSheet();
    var oRange = oSheet.GetRange("A2:D500");
    var nRows = oRange.GetRowsCount();
    var nCols = oRange.GetColumnsCount();

    for (var r = 1; r <= nRows; r++) {
        for (var c = 1; c <= nCols; c++) {
            var oCell = oRange.GetCells(r, c);
            var sFormula = oCell.GetFormula();

            // Do not replace formulas with their displayed results.
            if (sFormula) {
                continue;
            }

            var v = oCell.GetValue();

            // Restrict this cleanup to text constants.
            if (typeof v !== "string") {
                continue;
            }

            var sClean = v
                .replace(/\u00A0/g, " ")
                .replace(/[ \t]+/g, " ")
                .replace(/^[ \t]+|[ \t]+$/g, "");

            // SetValue treats strings beginning with "=" as formulas.
            if (sClean.charAt(0) === "=") {
                continue;
            }

            if (sClean !== v) {
                oCell.SetValue(sClean);
            }
        }
    }
})();
El editor de macros de ONLYOFFICE muestra líneas de JavaScript que seleccionan un rango delimitado y leen fórmulas y valores de celdas.
El panel de código muestra los métodos de lectura de rango y de celda utilizados por la macro de limpieza.

Los contadores de filas y columnas que se pasan GetCellsson relativos al rango seleccionado; los ejemplos de la API utilizan posiciones numeradas para acceder a una celda. La macro lee primero la fórmula de cada celda y la omite si hay una fórmula presente. Luego lee el valor y edita solo las cadenas que realmente cambian. Una cadena que se convertiría en una fórmula con signo igual después de recortarla también se omite porque SetValuepuede interpretar un signo igual inicial como una fórmula.

La expresión whitespace no modifica los saltos de línea. No altera la capitalización, la puntuación, los valores numéricos ni las fechas. Si su fuente contiene notas de varias líneas, campos de ancho fijo o identificadores con espacios especiales, pruebe esas columnas por separado y ajuste la política en lugar de aplicar una normalización más general.

4. Ejecútalo una vez y luego verifica el resultado.

Ejecute la macro desde el editor de macros. Dado que actualiza las celdas del rango seleccionado, revise el texto modificado en la copia de trabajo antes de sobrescribir el original. Compare algunas filas con el original, incluyendo la primera y la última del rango. Confirme que los encabezados se mantuvieron intactos, que las fórmulas siguen funcionando y que las celdas numéricas, como las de fechas, moneda e identificadores, no han cambiado.

Una cuadrícula de hoja de cálculo de ONLYOFFICE con columnas de Cliente, Ciudad y Estado visibles para su revisión posterior a la limpieza.
Utilice la hoja de cálculo para revisar filas representativas y compararlas con la copia original sin modificar.

Para hojas de cálculo extensas, filtre o busque espacios sospechosos antes y después de la ejecución y compare el número de filas. La macro no elimina filas, no deduplica registros, no convierte fechas ni rellena espacios en blanco, por lo que estas comprobaciones deben centrarse en los valores de texto. Si necesita un registro de auditoría visible, añada una columna de revisión independiente o copie los resultados limpios en una hoja de trabajo temporal en lugar de escribir mensajes de estado en una celda cualquiera.

Reglas de limpieza comunes que requieren una decisión aparte

  • Registros duplicados: Decida qué columnas definen un duplicado y si las transacciones repetidas son válidas antes de eliminar filas. Dos nombres idénticos no necesariamente representan a la misma persona o pedido.
  • Celdas y filas en blanco: Una celda vacía, un cero y un valor de texto como "N/A" tienen significados diferentes. No las reemplace ni las elimine sin una regla de datos.
  • Fechas y números almacenados como texto: Primero, seleccione el formato y la configuración regional deseados. El ejemplo evita convertir estos valores porque una cadena como esta 03/04/2026puede resultar ambigua en distintas regiones.
  • Ceros iniciales: Importa identificadores como 00127texto. Si una hoja de cálculo ya los ha almacenado como números, recortar el texto no puede restaurar los ceros que faltan.
  • Normalización de mayúsculas y minúsculas: Convertir las direcciones de correo electrónico a minúsculas o los códigos de estado a mayúsculas puede ser útil para campos específicos, pero aplicarlo a nombres o descripciones de productos puede alterar el uso correcto de las mayúsculas.

Utilice las macros de ONLYOFFICE cuando pueda expresar con precisión una regla repetible y probarla en una copia. El sistema de macros utiliza JavaScript en lugar de VBA, está asociado a un documento en lugar de estar disponible globalmente y tiene restringido el acceso directo al sistema de archivos y a la red, como se explica en las preguntas frecuentes sobre macros de ONLYOFFICE . Este entorno aislado limita el alcance de una macro fuera del editor, pero aun así puede modificar el contenido del libro de trabajo, por lo que debe revisar y probar el código antes de ejecutarlo.

Para importaciones recurrentes, mantenga el script en una plantilla controlada o en una copia del documento y utilice una breve lista de verificación: confirme la hoja activa, actualice la dirección del rango, excluya los encabezados y las fórmulas, ejecute el script en una copia, revise las cadenas editadas y compare el libro de trabajo final con el original antes de guardarlo o compartirlo.

Dejar un comentario

Cómo desactivar la telemetría y la recopilación de datos en LibreOffice

Cómo desactivar la telemetría y la recopilación de datos en LibreOffice

Aprende a desactivar los informes de errores de LibreOffice, los datos del agente de usuario de Actualización en línea y las comprobaciones de actualización automáticas opcionales, además de cómo verificar la configuración.

Cómo instalar ONLYOFFICE Docs Enterprise con Docker Compose

Cómo instalar ONLYOFFICE Docs Enterprise con Docker Compose

Instale ONLYOFFICE Docs Enterprise con el archivo Docker Compose oficial, configure JWT y el almacenamiento persistente, agregue su licencia y verifique el servicio.

Cómo usar expresiones regulares en la función Buscar y reemplazar de LibreOffice para edición avanzada

Cómo usar expresiones regulares en la función Buscar y reemplazar de LibreOffice para edición avanzada

Aprende a usar expresiones regulares en la función Buscar y reemplazar de LibreOffice para limpiar texto, capturar y reordenar datos, controlar el alcance y elegir alternativas más seguras.

Cómo usar las macros de ONLYOFFICE para automatizar la limpieza de hojas de cálculo

Cómo usar las macros de ONLYOFFICE para automatizar la limpieza de hojas de cálculo

Crea una macro segura de JavaScript para ONLYOFFICE que limpie el texto de las hojas de cálculo, conserve las fórmulas y los números, y verifique cada cambio antes de guardar el libro de trabajo.

Collabora Online vs ONLYOFFICE: Prueba de uso de recursos y latencia

Collabora Online vs ONLYOFFICE: Prueba de uso de recursos y latencia

Compara Collabora Online y ONLYOFFICE Docs con las directrices oficiales de dimensionamiento y una prueba repetible para CPU, memoria, tiempo de apertura, latencia de coedición y guardado.

Cómo agregar fuentes personalizadas a Collabora Online CODE Docker

Cómo agregar fuentes personalizadas a Collabora Online CODE Docker

Agregue fuentes personalizadas a Collabora Online CODE en Docker, compare los puntos de montaje, las imágenes personalizadas y la configuración de fuentes remotas, y luego verifique las fuentes en un documento.

Solucionar el problema por el que el menú desplegable de tamaño de fuente de Collabora Online no se muestra correctamente.

Solucionar el problema por el que el menú desplegable de tamaño de fuente de Collabora Online no se muestra correctamente.

Solucione problemas con el menú desplegable de tamaño de fuente de Collabora Online que aparece recortado, estirado o que no responde. Restablezca el zoom de la página, introduzca un tamaño manualmente y compruebe las correcciones de la versión de CODE.

Solucionar el error “LibreOffice requiere un entorno de ejecución de Java (JRE)”

Solucionar el error “LibreOffice requiere un entorno de ejecución de Java (JRE)”

Solucione la advertencia de LibreOffice JRE decidiendo si necesita las funciones de Java, instalando un entorno de ejecución compatible y seleccionándolo en las opciones avanzadas.

Cómo integrar ONLYOFFICE Docs con una aplicación PHP personalizada

Cómo integrar ONLYOFFICE Docs con una aplicación PHP personalizada

Conecte ONLYOFFICE Docs a una aplicación PHP personalizada con una URL de documento segura, una configuración de editor firmada, una API de JavaScript y una función de devolución de llamada para guardar.

Cómo configurar la contraseña de la consola de administración de Collabora Online

Cómo configurar la contraseña de la consola de administración de Collabora Online

Establezca una contraseña para la consola de administración en línea de Collabora para un paquete de Linux o una implementación de Docker de CODE, luego verifique el inicio de sesión y proteja el punto final de administración.