Foro Empleos Academia Cursos Blog
Recursos
  • Ejemplos de dashboards
  • DatData Games
  • Alumnos destacados
  • Ranking
  • Torneos pasados
  • Tests
Iniciar sesión Inscribirme
Back arrow

Problema con Office Script y Power Automate: Procesar datos de un Excel a traves de un script de office externo

Avatar por defecto

Carlos

Estudiante

•

hace 1 mes

Estoy buscando la mejor manera de procesar datos de un archivo de Excel (Excel de Proyectos) que contiene aproximadamente 15.000 filas. Este archivo se actualiza semanalmente y está ubicado en SharePoint. Mi objetivo es utilizar un Office Script a través de Power Automate para realizar este procesamiento.

Mis Restricciones y Requisitos:

  1. Excel de Proyectos: No puedo incrustar el Office Script directamente en este archivo, ya que no soy su propietario y su contenido cambia semanalmente.
  2. Office Script: Necesito que el script resida de forma separado y estático. Idealmente, me gustaría evitar tener un "Excel en blanco" que solo sirva como contenedor del script.
  3. Ejecución: El procesamiento debe realizarse a través de Power Automate y debe funcionar sin problemas para múltiples usuarios (mis "clientes"), lo que implica consideraciones sobre la ubicación del script y los permisos.
    • Nota sobre la ubicación del script: Actualmente, el script está en mi OneDrive personal. Para que mis clientes puedan usarlo, debería moverlo a una biblioteca de SharePoint compartida, pero no sé como hacerlo en Power Automate.



Mi Flujo de Power Automate actual que me funciona a mi pero no al usuario (porque no tiene acceso al script):

  1. Get file metadata using path: Obtiene el ID del Excel de Proyectos (el archivo de datos dinámico, camia semanalmente).
  2. Run script: Esta acción apunta a mi Excel del Script (el archivo estático que contiene el código).
  3. Así es:
    image.png 36.79 KB

Power Platform

0 Votos
2
Respuestas
Respuestas
Avatar por defecto

Asistente Virtual Datdata

Equipo Datdata

•

respondió hace 1 mes

🤖 Esta respuesta fue generada automáticamente por nuestra inteligencia artificial local. Es un intento único de ayudarte al instante. No responderá a mensajes posteriores en este hilo.

Hola, ¡gracias por tu consulta!

Entiendo que estás buscando la mejor manera de procesar datos de un archivo de Excel que se actualiza semanalmente y está ubicado en SharePoint, utilizando un Office Script a través de Power Automate. El principal desafío es que el archivo de datos cambia y no puedes alojar el script directamente en él, además de que necesitas que múltiples usuarios puedan ejecutarlo.

Tu enfoque de tener el script estático y separado, y luego usar Power Automate para vincularlo al archivo de datos dinámico, es correcto. El problema que describes (que funciona para ti pero no para los usuarios) se debe a cómo se gestionan los permisos y la ubicación del script.

Análisis de tu situación y solución propuesta:

Tu flujo actual:

  1. Get file metadata using path: Obtiene el ID del archivo de Excel de Proyectos (que cambia semanalmente).
  2. Run script: Esta acción apunta a tu archivo de script estático en tu OneDrive personal.

El problema principal es que la acción "Run script" en Power Automate, cuando apunta a un archivo de Excel en tu OneDrive personal, no funciona para otros usuarios porque ellos no tienen acceso a tu OneDrive ni al archivo de script que resides allí.

Solución Recomendada: Alojamiento Centralizado del Office Script

La clave para que múltiples usuarios puedan ejecutar el script es que este resida en una ubicación centralizada y accesible para todos ellos. La mejor manera de hacerlo es alojar el Office Script en un archivo de Excel que esté almacenado en una biblioteca de SharePoint.

Pasos para implementar la solución:

  1. Crear un Archivo de Excel Estático para el Script:
    • Crea un nuevo archivo de Excel.
    • Ve a la pestaña "Automatizar" (o "Automate" en inglés) en Excel para las aplicaciones de Microsoft 365.
    • Si no ves la pestaña "Automatizar", asegúrate de que tu versión de Office 365 tenga esta funcionalidad habilitada.
    • Haz clic en "Nuevo script" para crear tu Office Script.
    • Pega tu código de procesamiento de datos aquí.
    • Guarda el script en tu OneDrive personal con un nombre descriptivo (ej. "ProcesarDatosProyectos.js").
  2. Mover el Archivo de Script a SharePoint:
    • Identifica la biblioteca de SharePoint donde quieres alojar el script de manera centralizada. Crea una carpeta específica para ello si es necesario.
    • Copia o mueve el archivo de Excel que contiene tu script (el que creaste en el paso 1) a esta ubicación compartida en SharePoint.
  3. Modificar tu Flujo de Power Automate:
    • Abre tu flujo de Power Automate.
    • En la acción "Run script", deberás cambiar la referencia del archivo de origen. En lugar de apuntar a tu OneDrive personal, deberás apuntar al archivo de Excel que ahora reside en SharePoint.
    • Para hacer esto, en la acción "Run script", cuando se te pida seleccionar el archivo de script, navega hasta la biblioteca de SharePoint donde lo has guardado.
    • Importante: Asegúrate de que los usuarios que necesiten ejecutar el flujo tengan permisos de acceso a esa biblioteca de SharePoint y al archivo de Excel que contiene el script.
  4. Compartir y Configurar Permisos:
    • Si el archivo de Excel con el script está en una biblioteca de SharePoint, debes asegurarte de que los usuarios que ejecutarán el flujo tengan permisos de "lectura" (o los necesarios) sobre ese archivo de Excel y la biblioteca de SharePoint.
    • Cuando configures la acción "Run script" en Power Automate, tendrás que seleccionar el archivo de Excel ubicado en SharePoint.

Recomendación Adicional:

  • Documentación de Office Scripts y Power Automate: Microsoft tiene documentación detallada sobre cómo trabajar con Office Scripts y cómo integrarlos en Power Automate, incluyendo el manejo de archivos en SharePoint. Busca en la documentación de Microsoft para Power Automate y Office Scripts para obtener guías más específicas sobre la configuración de permisos y la ubicación de archivos.

Al alojar el script en SharePoint, todos los usuarios autorizados podrán acceder y ejecutarlo a través del flujo de Power Automate, ya que la ejecución se realizará desde una ubicación compartida.

Te sugiero visitar:

https://www.datdata.com/cursos/int101/clases/cw896z

Aunque esta clase se centra en Power Query y archivos de Excel, los principios de conexión a fuentes de datos y manejo de archivos en diferentes ubicaciones (como SharePoint) son relevantes para entender la estructura de los flujos.

0 Votos
Avatar por defecto

Carlos

Estudiante

•

respondió hace 1 mes

el punto 2 no es correcto, ya tengo un excel en blanco con el script y está compartido. Además, en el apartado file del Run Script  hay que poner el archivo donde quiero ejecutar el script. No puedo apuntar al archivo excel que está en blanco y lleva el script, porque ejecutaría el script en este archivo y no resolvería nada al estar en blanco.
0 Votos
Es necesario estar inscrito para dejar tu duda, comentario y/o respuesta

Sobre el alumno

Charcho

Carlos

Cursos completados

No ha completado ningún curso aún

Más preguntas sobre el tema

No puedo obtener acceso a sharepoint ni practicar con power automate

AntonioIsrael725

Del curso: Introducción a la suite de Power Platform

JuanIgnacio515

PowerAutomate con PowerBI y Project Online

RodrigoDubreuil

Usar Microsoft Dataverse

AndreaGiuliodori416

Dataverse - Tablas virtuales

MartinaTorralba752

Recursos
  • Foro
  • Inscribirse
  • Blog
  • Ejemplos de dashboards
Cursos
  • Aprende Power BI con Proyectos
  • Análisis de Datos con Power BI y Excel
  • Especialización en Power Query
  • Certificación de Power BI
  • Tu Portafolio de Dashboards
Legales
  • Términos del servicio
  • Política de privacidad
  • Política de cookies
  • Contacto
  • Acerca
Canal de YouTube de datdata Cuenta de Linkedin de datdata Cuenta de Instagram de datdata Página de Facebook de datdata Cuenta de TikTok de datdata
© 2026 © datdata - Todos los derechos reservados

Confirmar eliminación

Para eliminar esta participación, por favor ingrese su contraseña.