Compartir a través de


Introducción al desarrollo de funciones personalizadas de Excel

Con las funciones personalizadas, los desarrolladores pueden agregar nuevas funciones a Excel definidas en JavaScript o TypeScript como parte de un complemento. Los usuarios de Excel pueden acceder a las funciones personalizadas como lo harían a las funciones nativas de Excel, como SUM().

Requisitos previos

  • Node.js (la última versión de LTS). Visite el sitio deNode.js para descargar e instalar la versión correcta para el sistema operativo.

  • La versión más reciente de Yeoman y Generador de Yeoman para complementos de Office. Para instalar estas herramientas globalmente, ejecute el siguiente comando desde el símbolo del sistema.

    npm install -g yo generator-office
    

    Nota:

    Incluso si ya ha instalado el generador Yeoman, recomendamos que actualice el paquete de la versión más reciente desde npm.

  • Office está conectado a una suscripción Microsoft 365 (incluido Office en la Web).

    Nota:

    Si aún no tiene Office, puede calificar para una suscripción de desarrollador Microsoft 365 E5 a través del Programa para desarrolladores de Microsoft 365; para obtener más información, consulte las preguntas más frecuentes. Como alternativa, puede registrarse para obtener una evaluación gratuita de 1 mes o comprar un plan de Microsoft 365.

Cree su primer proyecto de funciones personalizadas

Para empezar, deberá usar el generador Yeoman para crear el proyecto de funciones personalizadas. Esto configura el proyecto con la estructura de la carpeta correcta, archivos de origen y dependencias para iniciar la codificación de las funciones personalizadas.

  1. Ejecute el siguiente comando para crear un proyecto de complemento con el generador Yeoman. Se agregará una carpeta que contiene el proyecto al directorio actual.

    yo office
    

    Nota:

    Cuando ejecute el comando yo office, es posible que reciba mensajes sobre las directivas de recopilación de datos de Yeoman y las herramientas de la CLI de complementos de Office. Use la información adecuada que se proporciona para responder a los mensajes.

    Cuando se le pida, proporcione la siguiente información para crear el proyecto de complemento.

    • Elija un tipo de proyecto:Excel Custom Functions using a Shared Runtime
    • Elija un tipo de script:JavaScript
    • ¿Cómo desea asignarle el nombre al complemento?My custom functions add-in

    La interfaz de la línea de comandos del generador de complementos de Office de Yeoman solicita proyectos de funciones personalizadas.

    El generador Yeoman creará los archivos de proyecto e instalará componentes auxiliares de Node.

  2. El generador de Yeoman le mostrará algunas instrucciones en la línea de comandos sobre lo que puede hacer con el proyecto, pero debe ignorarlas y seguir estas instrucciones. Navegue hasta la carpeta principal del proyecto.

    cd "My custom functions add-in"
    
  3. Cree el proyecto.

    npm run build
    
  4. Inicie el servidor web local, que se ejecuta en Node.js. Puede probar el complemento de la función personalizada en Excel. Es posible que se le pida que abra el panel de tareas del complemento, aunque esto es opcional. Todavía puede ejecutar las funciones personalizadas sin abrir el panel de tareas del complemento.

Para probar el complemento en Excel en la web, ejecute el siguiente comando. Al ejecutar este comando, se iniciará el servidor web local. Reemplace "{url}" por la dirección URL de un documento de Excel en OneDrive o en una biblioteca de SharePoint para la que tenga permisos.

Nota:

Si va a desarrollar en un Equipo Mac, incluya entre {url} comillas simples. No haga esto en Windows.

npm run start:web -- --document {url}

Estos son algunos ejemplos.

  • npm run start:web -- --document https://contoso.sharepoint.com/:t:/g/EZGxP7ksiE5DuxvY638G798BpuhwluxCMfF1WZQj3VYhYQ?e=F4QM1R
  • npm run start:web -- --document https://1drv.ms/x/s!jkcH7spkM4EGgcZUgqthk4IK3NOypVw?e=Z6G1qp
  • npm run start:web -- --document https://contoso-my.sharepoint-df.com/:t:/p/user/EQda453DNTpFnl1bFPhOVR0BwlrzetbXvnaRYii2lDr_oQ?e=RSccmNP

Si el complemento no se carga localmente en el documento, desinstalándolo manualmente siguiendo las instrucciones de Instalación local manual de complementos en Office en la Web.

Nota:

  • Los complementos de Office deben usar HTTPS, no HTTP, aunque esté desarrollando. Si se le pide que instale un certificado después de ejecutar uno de los siguientes comandos, acepte el mensaje para instalar el certificado que proporciona el generador de Yeoman. Es posible que también deba ejecutar el símbolo del sistema o el terminal como administrador para que se realicen los cambios.

  • Si es la primera vez que desarrolla un complemento de Office en el equipo, es posible que se le pida en la línea de comandos que conceda a Microsoft Edge WebView una exención de bucle invertido ("Allow localhost loopback for Microsoft Edge WebView?"). Cuando se le solicite, escriba Y para permitir la exención. Tenga en cuenta que necesitará privilegios de administrador para permitir la exención. Una vez permitido, no se le pedirá una exención al transferir localmente complementos de Office en el futuro (a menos que quite la exención de la máquina). Para obtener más información, consulte "No se puede abrir este complemento desde localhost" al cargar un complemento de Office o mediante Fiddler.

    Símbolo del sistema de la línea de comandos para permitir a Microsoft Edge WebView una exención de bucle invertido.

Probar una función personalizada creada previamente

El proyecto de funciones personalizadas que ha creado mediante el generador Yeoman contiene algunas funciones personalizadas creadas previamente, definidas en el archivo src/functions/functions.js. El archivo ./manifest.xml en el directorio raíz del proyecto especifica que todas las funciones personalizadas pertenecen al espacio de nombres CONTOSO.

En el libro de Excel, pruebe la ADD función personalizada de acuerdo a los siguientes pasos:

  1. Seleccione una celda y escriba =CONTOSO. Observe que el menú Autocompletar muestra la lista de todas las funciones en el espacio de nombres CONTOSO.

  2. Ejecute la función CONTOSO.ADD con los números 10 y 200 como parámetros de entrada, especificando el valor =CONTOSO.ADD(10,200) en la celda y presionando la tecla Entrar:

La función personalizadaADD calcula la suma de los dos números que ha especificado como parámetros de entrada. Al escribir =CONTOSO.ADD(10,200) se debería obtener el resultado 210 en la celda después de presionar Entrar.

Si el espacio de nombres CONTOSO no está disponible en el menú autocompletar, siga estos pasos para registrar el complemento en Excel.

  1. En Excel, seleccioneComplementos de inicio> y, a continuación, seleccione Más complementos.

  2. En la pestaña MIS COMPLEMENTOS , seleccione Administrar mis complementos y elija Cargar mi complemento.

  3. Elija Examinar... y navegue hasta el directorio raíz del proyecto que creó el generador Yeoman.

  4. Seleccione el archivo manifest.xml y elija Abrir, después, seleccione Subir.

  5. Pruebe la nueva función. En la celda B1 escriba el texto =CONTOSO.GETSTARCOUNT("OfficeDev", "Excel-Custom-Functions") y presione Entrar. Debe ver que el resultado en la celda B1 es el número de estrellas actual proporcionado al repositorio de Github de funciones personalizadas de Excel.

Si desea detener el servidor web local y desinstalar el complemento, siga las instrucciones aplicables:

  • Para detener el servidor, ejecute el siguiente comando. Si usó npm start, el siguiente comando también desinstala el complemento.

    npm stop
    
  • Si descargó manualmente el complemento de forma local, consulte Eliminación de un complemento cargado localmente.

Siguientes pasos

Enhorabuena, ha creado correctamente un complemento de función personalizada para Excel. A continuación, cree un complemento más complejo con la capacidad de transmitir datos por streaming. El siguiente vínculo le guiará a través de los siguientes pasos en el tutorial de complementos de Excel con funciones personalizadas.

Solución de problemas

  • Es posible que se produzca un error en el paso automático npm install que realiza Yo Office. Si ve errores al intentar ejecutar npm start, vaya a la carpeta del proyecto recién creada en un símbolo del sistema y ejecute npm installmanualmente . Para obtener más información sobre Yo Office, vea Crear proyectos de complementos de Office mediante el generador de Yeoman.
  • Es posible que tenga problemas si ejecuta el inicio rápido varias veces. Si la memoria caché de Office ya tiene una instancia de una función con el mismo nombre, el complemento recibe un error al transferir localmente. Para evitarlo, borre la memoria caché de Office antes de ejecutarla npm run start y asegúrese de ejecutarla npm stop antes de reiniciar el complemento.

    Un mensaje de error en Excel titulado

Vea también