Office Scripts en Excel web: guía práctica

  • Office Scripts en Excel web permiten automatizar tareas repetitivas y compartir scripts en la organización para estandarizar procesos.
  • La Grabadora de acciones y el Editor de código facilitan crear scripts, desde grabaciones sencillas hasta soluciones complejas en TypeScript.
  • El modelo de objetos de Excel (libros, hojas, rangos, tablas, gráficos) se gestiona mediante APIs que permiten crear, modificar y eliminar elementos.
  • La integración con Power Automate posibilita ejecutar scripts de forma programada o en respuesta a eventos, incluso con el libro cerrado.

Office Scripts en Excel para la web

Si pasas buena parte del día repitiendo las mismas tareas en Excel Online, los Office Scripts en Excel para la web pueden convertirse en tu mejor aliado. Esta función te permite registrar lo que haces en un libro, guardarlo como script y volver a ejecutarlo tantas veces como quieras, sin escribir ni una sola línea de código si no quieres complicarte.

Además de simplificar procesos, los scripts permiten que tu equipo trabaje de forma más homogénea: compartes el libro, compartes también los scripts. Así, cualquiera que tenga acceso al archivo puede lanzar tus automatizaciones desde un botón o integrarlas en flujos de Power Automate para que todo ocurra en segundo plano, incluso cuando nadie tiene el Excel abierto.

Qué son los Office Scripts en Excel web y para qué sirven

Los Office Scripts son una característica de Excel para la web que permite automatizar pasos repetitivos dentro de un libro, como dar formato, limpiar datos, crear tablas, generar gráficos o preparar informes. Todo se ejecuta en la nube y se guarda asociado a tu cuenta de Microsoft 365, por lo que puedes reutilizar los scripts en distintos libros y compartirlos con tu organización.

En la práctica, un script de Office es un fragmento de código TypeScript que Excel ejecuta sobre un libro concreto. Ese código se puede generar grabando tus acciones con la Grabadora, editar después en el Editor de código o incluso crearlo desde cero si tienes conocimientos básicos de programación.

Imagina que cada mañana abres un archivo CSV descargado de tu herramienta de contabilidad. Siempre sigues los mismos pasos: quitas columnas sobrantes, aplicas formato de tabla, añades unas fórmulas y levantas una tabla dinámica. Con Office Scripts, haces ese proceso una única vez con la Grabadora y, a partir de ahí, basta con pulsar un botón para que Excel web repita todo el flujo de transformación de datos por ti.

La gran ventaja es que no solo ahorras tiempo: también reduces errores humanos. Un script bien preparado se ejecuta siempre igual, sin olvidar pasos ni equivocarse en celdas o rangos. Y si compartes el archivo con tu equipo, cualquiera podrá lanzar exactamente el mismo proceso sin conocer todos los detalles técnicos.

En entornos profesionales, estos scripts se están usando para tareas tan variadas como normalizar listados de ventas, generar informes diarios, actualizar cuadros de mando o preparar plantillas de facturas. Cuanto más repetitiva y estructurada sea la tarea, más sentido tiene invertir unos minutos en convertirla en script.

Automatización de tareas en Excel web con Office Scripts

Cuándo tiene sentido usar Office Scripts

Office Scripts encaja especialmente bien cuando detectas que realizas las mismas acciones sobre distintos libros o versiones de un mismo archivo. Si cada día, semana o mes repites una serie de pasos en Excel web, lo ideal es convertir esa secuencia en un script reutilizable que puedas ejecutar en uno o varios libros sin rehacer todo a mano.

Un caso típico es el de usuarios que trabajan con datos importados: ficheros CSV de bancos, exportaciones de ERPs, informes de herramientas de marketing, etc. En todos esos escenarios, el flujo suele ser muy parecido: limpiar, transformar, dar formato y resumir información. Registrar el proceso una vez y convertirlo en script evita que cada persona del equipo lo resuelva a su manera.

También tiene mucho sentido en procesos colaborativos. Si varios compañeros tienen que preparar el mismo tipo de informe, puedes crear un script único que estandarice el procedimiento. De este modo, los resultados son consistentes, replicables y fáciles de mantener, porque cualquier cambio posterior se hace en el script y se propaga a todos los que lo usan.

La automatización se puede llevar un paso más allá combinando los scripts con Power Automate. Así, no solo los lanzas manualmente desde Excel, sino que puedes programar su ejecución de forma periódica o hacer que se activen cuando ocurra un evento externo, como la llegada de un correo o la actualización de un archivo en OneDrive o SharePoint.

Si en tu día a día ya utilizas fórmulas avanzadas, tablas dinámicas o modelos de datos, probablemente tienes un buen campo de mejora. Pasar de hacer clics manuales a scripts automatizados puede ahorrar horas cada semana y liberar tiempo para análisis de valor en lugar de tareas mecánicas.

Grabadora de acciones: automatizar sin saber código

La Grabadora de acciones es la puerta de entrada más sencilla a Office Scripts. Esta herramienta se encarga de registrar cada paso que realizas en el libro (editar celdas, cambiar formatos, insertar tablas, etc.) y traducirlo automáticamente a un script ejecutable.

Su funcionamiento es muy directo: inicias la grabación, completas las tareas en Excel como lo harías normalmente y, al detenerla, obtienes un script que puedes guardar, renombrar y volver a lanzar cuando quieras. La idea es similar a las macros de Excel clásico, pero enfocada al entorno de Excel para la web y basada en TypeScript.

Cuando reproduces ese script en otros libros o en otras hojas, Excel intenta replicar exactamente lo que grabaste: aplica las mismas operaciones sobre los rangos y objetos que se usaron durante la grabación. Esto la convierte en una solución ideal para usuarios que no tienen conocimientos de programación y quieren automatizar procesos muy definidos.

Eso sí, hay que tener en cuenta que no todas las acciones están disponibles todavía en la Grabadora. Algunas características de Excel no se registran y, en ese caso, se mostrará una nota indicando que esa acción no se añadirá al script. Esas partes simplemente se omiten, por lo que conviene revisar el resultado y, si hace falta, completarlo desde el Editor de código.

Los artículos de ayuda de Microsoft sobre “Grabar las acciones como script de Office” profundizan en este enfoque, explicando qué operaciones se capturan, cómo se almacenan los scripts y cómo administrarlos desde la pestaña Automatizar de Excel web.

Grabadora y editor de código de Office Scripts

Editor de código: personalizar y crear scripts avanzados

El Editor de código es el entorno en el que puedes ver, modificar y escribir scripts de Office. Te permite abrir un script grabado con la Grabadora, leer el código TypeScript generado y ajustarlo a tus necesidades, añadiendo lógica más compleja o mejorando la robustez.

Desde este Editor puedes introducir construcciones de programación que la interfaz de Excel no ofrece directamente: condicionales (if / else), bucles, funciones auxiliares, manejo de errores, etc. Esto permite que el script no solo reproduzca acciones fijas, sino que también tome decisiones en función de los datos o de la estructura del libro.

Microsoft proporciona tutoriales guiados donde se muestra paso a paso cómo pasar de una simple grabación a un script más elaborado. En estos recursos se explica cómo se interpreta el código generado por la Grabadora, cómo organizarlo en funciones y cómo aprovechar al máximo el entorno del Editor de código.

Si te apetece ir un poco más allá, también existe la opción de redactar un script con ayuda de IA. Esta funcionalidad, aún en fase preliminar, genera un borrador de script que puedes revisar, entender y adaptar. Es una forma cómoda de obtener un punto de partida, sobre todo si ya sabes qué quieres conseguir pero no dominas aún toda la sintaxis de TypeScript.

Los materiales de “Aspectos básicos para scripts de Office en Excel” y la documentación del entorno del Editor de código son un apoyo importante para entender cómo organizar tus scripts, cómo depurarlos y cómo aprovechar las APIs disponibles.

TypeScript y la estructura interna de un script de Office

Los Office Scripts se escriben en TypeScript, un superconjunto tipado de JavaScript. Si ya tienes algo de experiencia en JavaScript, el salto es relativamente suave: la sintaxis básica es prácticamente la misma y los tipos añaden seguridad y claridad a tu código.

Todo script debe contener una función main que actúa como punto de entrada. Esta función recibe siempre como primer parámetro un objeto de tipo ExcelScript.Workbook, que representa el libro de Excel sobre el que vas a trabajar. La firma mínima típica sería algo así: function main(workbook: ExcelScript.Workbook) { /* código */ }.

El código que coloques dentro de main es lo que se ejecutará cuando lances el script desde Excel o desde Power Automate. Puedes definir funciones auxiliares dentro del mismo archivo y llamarlas desde main, pero cualquier instrucción que quede fuera de una función no se ejecutará. Además, los scripts de Office no pueden invocar directamente a otros scripts diferentes; esa orquestación se consigue a través de Power Automate.

En lo que respecta a las API disponibles, hay dos espacios de nombres principales: ExcelScript para todo lo relacionado con el libro (hojas, rangos, tablas, gráficos…) y OfficeScript para funciones más generales no ligadas a un documento concreto. La documentación de referencia recoge todas las clases, métodos y propiedades disponibles dentro de estos espacios de nombres.

Un flujo típico dentro de un script consistiría en usar el objeto workbook para obtener la hoja activa, localizar rangos concretos, leer o escribir valores y, si es necesario, crear o modificar tablas, gráficos, tablas dinámicas u otros objetos. Cada uno de estos elementos cuenta con su propia API, pero todos se relacionan de forma coherente con lo que ves en la interfaz de Excel.

Modelo de objetos de Excel para Office Scripts

El modelo de objetos de Excel en Office Scripts

Para trabajar de forma cómoda con Office Scripts es importante entender cómo se estructuran los objetos dentro del libro. A grandes rasgos, Excel se organiza en torno a un modelo jerárquico de objetos que refleja la propia interfaz de usuario.

En la parte superior está el objeto Workbook, que representa el libro completo. Este contiene una o varias hojas de cálculo (Worksheet). Cada hoja, a su vez, da acceso a rangos de celdas (Range), que se pueden usar para crear tablas, gráficos, formas y otros elementos visuales u organizativos.

Una hoja de cálculo gestiona colecciones de esos objetos (tablas, gráficos, imágenes, etc.) que existen dentro de ella. Por su parte, el libro también dispone de colecciones globales para ciertos objetos, como todas las tablas del libro, aunque estén repartidas en varias hojas. Este enfoque hace sencillo acceder a conjuntos completos de elementos, filtrarlos o recorrerlos con bucles.

La documentación oficial de las APIs de Office Scripts incluye listados completos de todos los objetos, métodos y propiedades, organizados en los paquetes ExcelScript y OfficeScript. Consultarlos es muy útil cuando quieres ir más lejos de lo que ofrece la Grabadora y necesitas entender a fondo qué puedes hacer desde código.

Una vez interiorizado este modelo, resulta más fácil leer y escribir scripts, porque verás que el código refleja casi de forma directa la estructura del libro: se empieza “arriba” en el Workbook, se baja a las hojas y de ahí a los rangos y objetos específicos que necesitas manipular.

Rangos: valores, fórmulas y formato

El objeto Range es uno de los pilares de Office Scripts. Un rango es, básicamente, un conjunto de celdas contiguas, identificado normalmente mediante notación A1 (por ejemplo, «B3» para una celda o «C2:F4» para un bloque de varias filas y columnas).

Cada rango tiene tres grandes grupos de propiedades: valores, fórmulas y formato. A través de métodos como getValues, getFormulas y getFormat puedes leer el contenido del rango; con setValues y setFormulas puedes escribir nuevos valores o fórmulas, mientras que el formato se administra mediante un objeto RangeFormat, que a su vez incluye propiedades para color de fondo, fuente, bordes, alineación, etc.

La información dentro de un rango se maneja como matrices bidimensionales (arrays de arrays), donde cada subarray representa una fila. Esto significa que, al trabajar con datos tabulares, puedes construir estructuras como , ] y asignarlas de una sola vez a un bloque de celdas.

Es importante también entender los tipos de los valores que devuelve un rango. Cada celda puede contener un string, un number o un boolean. Si quieres realizar operaciones aritméticas sobre valores obtenidos de celdas, conviene declarar explícitamente el tipo, por ejemplo, usando as number[][] después de llamar a getValues, para que TypeScript sepa que estás tratando con números y no con texto.

Un ejemplo práctico sería calcular el precio medio de una columna de una tabla: obtienes el rango de precios, lo declaras como matriz de números, recorres sus elementos con un bucle o un forEach y aplicas la lógica que necesites. Este patrón se repite en muchos scripts: identificar el rango adecuado, leer los valores, procesarlos en TypeScript y, si hace falta, escribir los resultados en otras celdas.

Tablas, gráficos y otros objetos de datos

Además de manipular celdas sueltas o rangos planos, Office Scripts permite trabajar con estructuras de datos más ricas como tablas, gráficos, tablas dinámicas, formas e imágenes. Todo ello se controla mediante sus APIs específicas, pero siempre partiendo de rangos de celdas.

Crear una tabla es tan sencillo como tomar un rango que ya contenga datos y llamar a addTable sobre la hoja correspondiente. Puedes indicar si la primera fila del rango contiene encabezados y, en función de eso, Excel aplicará automáticamente filtros, formato de tabla y estilo. Después, esa tabla contará con métodos propios para gestionar columnas, filas, filtros, totales, estilos, etc.

Los gráficos se construyen de forma parecida: seleccionas un rango con datos y llamas a addChart indicando el tipo de gráfico (por ejemplo, columnas apiladas). Una vez creado, puedes cambiar su posición, tamaño y muchas otras propiedades, desde el título hasta los colores o el tipo de serie. Los scripts pueden generar visualizaciones completas partiendo de datos en bruto con muy pocas líneas de código.

Para tablas dinámicas, formas u otros objetos, el enfoque es similar: se crean a partir de rangos o se recuperan de las colecciones de la hoja o del libro, y luego se manipulan según las necesidades. La documentación específica de cada tipo de objeto explica qué operaciones están soportadas y cómo combinar varias piezas para crear informes complejos.

Este trabajo con objetos de alto nivel resulta especialmente útil cuando quieres que un script deje el libro “listo para usar”: no solo rellena datos, sino que además construye estructuras y visualizaciones completas para que el usuario solo tenga que abrir la hoja y analizar el resultado.

excel web

Colecciones y trabajo con varios objetos

Muchos objetos de Excel agrupan otros en colecciones. El caso más claro es el del libro, que dispone de una colección de hojas de cálculo, pero también ocurre con las tablas (colección de columnas), las hojas (colección de gráficos) y así sucesivamente.

En Office Scripts, estas colecciones se exponen normalmente como matrices estándar de TypeScript. Métodos como workbook.getWorksheets() o worksheet.getCharts() devuelven un array con todos los elementos de ese tipo. Gracias a eso, puedes recorrerlos con forEach, filtrar con filter o acceder a un elemento concreto por índice.

Además, suele haber métodos get en singular que aceptan un identificador o nombre y devuelven un único objeto o undefined si no existe. Por ejemplo, workbook.getTable("MyTable") intenta localizar una tabla con ese nombre. Este patrón es muy útil cuando necesitas comprobar si un elemento ya está creado antes de manipularlo o volver a generarlo.

Un patrón muy habitual en los scripts es: buscar una tabla por nombre, si existe la eliminas con delete() y luego creas una nueva tabla con datos actualizados y el mismo nombre. De esta forma, evitas conflictos con nombres duplicados o restos de información antigua que puedan confundir a los usuarios.

La documentación sobre “Trabajar con colecciones” explica con más detalle estos patrones y muestra ejemplos de cómo recorrer todas las tablas de un libro para aplicar un estilo común, garantizar que los encabezados están visibles o activar los botones de filtro de forma masiva.

Añadir y eliminar objetos de Excel desde un script

Con Office Scripts no solo puedes modificar lo que ya existe: también puedes crear y borrar objetos del libro de manera programática. Esto incluye tablas, gráficos, hojas de cálculo y otros elementos vinculados a los datos.

Para añadir un objeto, lo normal es llamar a un método add sobre el objeto padre adecuado. Por ejemplo, para crear una tabla en la primera hoja del libro, obtienes esa hoja con workbook.getWorksheets() y llamas a addTable indicando el rango y si tiene encabezados. El método devuelve la propia tabla, lo que te permite configurarla a continuación (nombre, estilo, totales, etc.).

Esta capacidad de creación dinámica facilita escenarios donde, cada vez que se ejecuta el script, se reconstruye desde cero un informe completo. Si además combinas esto con la comprobación de existencia previa, puedes borrar primero cualquier versión anterior y asegurarte de que el libro queda siempre en un estado limpio y coherente.

Para eliminar objetos, la regla general es llamar a su método delete(). Puedes hacer esto con tablas, gráficos o incluso con hojas de cálculo completas. Por ejemplo, obtener la primera hoja de un libro con getWorksheets() y luego llamar a delete() sobre ella elimina esa hoja del libro.

Gestionar correctamente la creación y eliminación de objetos es clave cuando los scripts se ejecutan de forma periódica o cuando varios usuarios trabajan sobre el mismo archivo. Así evitas acumulación de hojas obsoletas, tablas duplicadas o gráficos que ya no representan los datos actuales.

Compartir y ejecutar Office Scripts en equipo

Una vez que tienes un script útil, lo normal es querer que otros también puedan aprovecharlo. Office Scripts permite compartir scripts dentro de tu organización a través de libros compartidos en Excel para la web.

Cuando publicas un libro y le das acceso a tu equipo, los demás usuarios con permisos pueden ver y ejecutar los scripts asociados a ese archivo. Esto hace posible que un único especialista cree la automatización y el resto del equipo simplemente la utilice desde la pestaña Automatizar sin entrar en detalles técnicos.

Para facilitar todavía más su uso, puedes añadir botones de script en la propia cinta de opciones o en la galería de scripts. De este modo, un usuario solo tiene que hacer clic en un botón claramente etiquetado para lanzar el proceso que limpia datos, actualiza informes o genera tablas, sin necesidad de navegar por menús complicados.

La gestión de qué scripts se comparten, quién puede verlos o modificarlos y cómo se integran en cada libro se explica con detalle en la documentación sobre “Uso compartido de scripts de Office en Excel”. Es recomendable revisar estas opciones, sobre todo en organizaciones grandes donde hay que cuidar la gobernanza y la estandarización de procesos.

Además, al compartir no solo ahorras tiempo: fomentas la reutilización y la mejora continua. Un compañero puede detectar un caso particular, proponer un cambio en el script y, tras ajustarlo en equipo, toda la organización se beneficia de la nueva versión.

Programar scripts y conectarlos con Power Automate

Una de las funcionalidades más potentes de Office Scripts aparece cuando los combinas con Power Automate. Gracias a esta integración, puedes programar la ejecución de scripts en segundo plano o hacer que respondan automáticamente a eventos externos.

Desde el Editor de código, encontrarás una sección de “Programación de scripts”. Ahí puedes iniciar sesión en Excel a través de Power Automate, definir cada cuánto quieres que se ejecute el script (diariamente, semanalmente, cada cierto número de horas, etc.) y, por último, pulsar en “Crear flujo” para que Power Automate se encargue del resto.

Una vez configurado, el flujo de Power Automate se ejecuta aunque el libro esté cerrado o nadie tenga el navegador abierto. Esto es especialmente útil para mantener informes o dashboards siempre actualizados, o para realizar tareas de mantenimiento de datos fuera del horario laboral.

Además de las programaciones, Power Automate permite activar scripts como respuesta a acciones concretas: recepción de correos, cambios en archivos de OneDrive o SharePoint, envíos de formularios, etc. Así puedes diseñar flujos donde, por ejemplo, cada vez que se sube un CSV a una carpeta, un script en Excel se ejecuta para limpiarlo, formatearlo y actualizar las tablas y gráficos correspondientes.

El tutorial “Ejecutar Scripts de Office con Power Automate” explica paso a paso cómo configurar estas conexiones, cómo pasar parámetros al script, recoger valores devueltos desde la función main y usar esta información en el resto del flujo de automatización.

Requisitos, problemas habituales y solución de errores

Para usar Office Scripts en Excel para la web es necesario que tu licencia de Microsoft 365 incluya esta característica. Además, en entornos corporativos, el administrador puede habilitar o deshabilitar el uso de scripts desde el Centro de administración de Microsoft 365 o a través de directivas de grupo.

Si no ves la pestaña “Automatizar” en Excel web, hay varias comprobaciones recomendadas: asegúrate de que tu cuenta no es de invitado en el inquilino, revisa que el administrador no haya bloqueado la funcionalidad y comprueba que las cookies de terceros están habilitadas en el navegador. En Windows, también puede ser necesario tener instalado WebView2 para que ciertas funciones se muestren correctamente.

En cuanto a errores de ejecución, un problema habitual es que el libro donde se reproduce el script no tenga exactamente la misma estructura que el libro donde se grabó. Por ejemplo, puede que falte una tabla con un nombre concreto o que una hoja tenga un nombre diferente. En esos casos, el Editor de código mostrará mensajes de error e indicará dónde se ha detenido la ejecución.

Desde el panel del Editor puedes pulsar en “Ver registros” para ver un pequeño resumen del error. Esto te ayudará a localizar la línea problemática y a ajustar el script para que sea más robusto, utilizando comprobaciones previas o adaptando los nombres de hojas y objetos.

Por último, ten en cuenta que no todas las características de Excel son compatibles aún con la Grabadora o con las APIs de Office Scripts. Cuando intentes registrar una acción no soportada, aparecerá una nota en el panel de Grabación indicando que se va a omitir. En esos casos, puede que necesites buscar una alternativa desde código o asumir que esa parte concreta no se automatizará de momento.

Aprender y formarse en Office Scripts en Excel web

Para sacar todo el jugo a esta funcionalidad es muy recomendable tener un dominio sólido de Excel y de su versión web. Si ya manejas con soltura fórmulas, tablas, filtros y algo de tablas dinámicas, estás en una posición ideal para dar el salto a la automatización con scripts.

Existen cursos específicos centrados en Office Scripts en Excel para la web que se apoyan en ejemplos muy prácticos. En este tipo de formaciones se cubre desde la grabación y edición básica de scripts hasta diferencias con VBA y formas de combinar ambos enfoques cuando trabajas también con Excel de escritorio.

En estos cursos suele enseñarse cómo añadir botones personalizados para lanzar scripts de forma intuitiva, cómo compartir libros para que el resto del equipo pueda usar tus automatizaciones y cómo ejecutar scripts en contextos colaborativos, por ejemplo, dentro de equipos de Microsoft Teams, ampliando aún más las posibilidades de automatización.

No hace falta tener experiencia previa en programación: el tutor suele guiar paso a paso la lectura y comprensión del código generado, analizando ejemplos como la creación de plantillas de facturas automatizadas o rutinas de limpieza de datos. El objetivo es que puedas aplicar lo aprendido desde el primer día y veas un impacto real en tus tareas cotidianas.

Además de la formación formal, la propia documentación técnica de Microsoft, los tutoriales interactivos y los scripts de ejemplo son recursos clave para seguir aprendiendo. Allí encontrarás desde guías de iniciación hasta referencias detalladas del modelo de objetos y ejemplos avanzados para escenarios de negocio reales.

Combinando el conocimiento funcional de Excel con estos recursos de aprendizaje y un poco de práctica, resulta relativamente rápido pasar de tareas completamente manuales a procesos altamente automatizados con Office Scripts en Excel web.

office scripts
Artículo relacionado:
Introducción a Office Scripts para Excel Online