Compartir a través de


Solucionar problemas de funciones personalizadas

Cuando se desarrollan funciones personalizadas, pueden producirse errores de producto al crear y probar las funciones.

Importante

Tenga en cuenta que las funciones personalizadas están disponibles en Excel en las siguientes plataformas.

  • Office en la web
  • Office en Windows
    • Suscripción a Microsoft 365
    • Retail perpetual Office 2016 y versiones posteriores
    • Office 2021 perpetua con licencia por volumen y versiones posteriores
  • Office en Mac

Las funciones personalizadas de Excel no se admiten actualmente en lo siguiente:

  • Office en iPad
  • versiones perpetuas con licencia por volumen de Office 2019 o versiones anteriores en Windows

Para resolver los problemas, puede habilitar el registro de tiempo de ejecución para capturar los errores y consultar los mensajes de error nativos de Excel. Asimismo, compruebe si hay errores comunes como dejar promesas sin resolver.

Depuración de funciones personalizadas

Para depurar complementos de funciones personalizadas que usan un entorno de ejecución compartido, vea Configurar el complemento de Office para usar un entorno de ejecución compartido: Depurar.

Para depurar complementos de funciones personalizadas que no usan un entorno de ejecución compartido, consulte Depuración de funciones personalizadas.

Habilitar el registro de tiempo de ejecución

Si va a probar un complemento en Office en Windows, debe habilitar el registro de tiempo de ejecución. El registro de tiempo de ejecución envía instrucciones de console.log a un archivo de registro independiente creado por usted que le servirá de ayuda para descubrir los problemas. Las instrucciones abarcan una serie de errores, incluidos los errores relativos al archivo de manifiesto XML del complemento, las condiciones de tiempo de ejecución o la instalación de las funciones personalizadas. Para obtener más información sobre el registro de tiempo de ejecución, vea Depurar el complemento con el registro en tiempo de ejecución.

Compruebe los mensajes de error de Excel

Excel tiene una serie de mensajes de error integrados que se devuelven a una celda si hay algún error de cálculo. Las funciones personalizadas solo usan los siguientes mensajes de error: #NULL!, #DIV/0!, #VALUE!, #REF!, #NAME?, #NUM!, #N/A y #BUSY!.

Por lo general, estos errores se corresponden con los errores con los que puede que ya esté familiarizado en Excel. Solo hay algunas excepciones específicas de funciones personalizadas, que se muestran aquí:

  • Un error #NAME normalmente significa que se ha producido un problema al registrar las funciones.
  • Un error #N/A también puede indicar que esa función se registró pero no se pudo ejecutar. Normalmente, es porque falta un comando CustomFunctions.associate.
  • Un error #VALUE suele indicar un error en el archivo de script de las funciones.
  • Un error #REF! puede indicar que el nombre de la función es igual al nombre de una función en un complemento que ya existe.

Borrar la caché de Office

Office almacena en caché información sobre funciones personalizadas. A veces, al desarrollar y volver a cargar varias veces un complemento con funciones personalizadas, puede que no se muestren los cambios. Puede solucionarlo borrando la caché de Office. Para obtener más información, consulte Borrar la caché de Office.

Problemas y soluciones comunes

No se puede abrir el complemento desde localhost: usar una exención de bucle invertido local

Si ve el error "No se puede abrir este complemento desde localhost", deberá habilitar una exención de bucle invertido local. Para obtener información sobre cómo hacerlo, consulte este artículo de soporte técnico de Microsoft.

El registro en tiempo de ejecución informa "TypeError: error de solicitud de red" en Excel para Windows

Si se muestra el error "TypeError: error de solicitud de red" en el registro en tiempo de ejecución mientras realiza llamadas al servidor localhost, deberá habilitar una excepción de bucle invertido local. Para obtener información sobre cómo hacerlo, vea la Opción 2 en este artículo de soporte técnico de Microsoft.

Asegúrese de que se devuelvan las promesas

Cuando Excel está esperando a que se complete una función personalizada, muestra #OCUPADO en la celda. Si el código de la función personalizada devuelve una promesa, pero la promesa no devuelve un resultado, Excel seguirá mostrando #BUSY!. Compruebe las funciones para asegurarse de que las promesas estén devolviendo correctamente los resultados a las celdas.

Error: El servidor de desarrollo se está ejecutando en el puerto 3000

En ocasiones, al ejecutar npm start es posible que vea un error de que el servidor de desarrollo ya se está ejecutando en el puerto 3000 (o el puerto que usa el complemento). Puede detener el servidor de desarrollo ejecutando npm stop o cerrando la ventana Node.js. En algunos casos, el servidor de desarrollo puede tardar unos minutos en dejar de ejecutarse.

No se cargan las funciones: asociar las funciones

En los casos en los que no se haya registrado el JSON y se haya creado su propio metadato de JSON, es posible que vea un error #VALUE! o que reciba una notificación que indica que el complemento no se puede cargar. Normalmente, esto significa que necesita asociar cada función personalizada a id la propiedad especificada en el archivo de metadatos JSON. Esto se hace mediante la CustomFunctions.associate() función . Normalmente, esta llamada a la función se realiza después de cada función o al final del archivo de script. Si la función personalizada no está asociada, no funcionará.

En el siguiente ejemplo se muestra una función de complemento, seguida por el nombre de la función add, que se asocia al id. de JSON correspondienteADD.

/**
 * Add two numbers.
 * @customfunction
 * @param {number} first First number.
 * @param {number} second Second number.
 * @returns {number} The sum of the two numbers.
 */
function add(first, second) {
  return first + second;
}

CustomFunctions.associate("ADD", add);

Para obtener más información sobre este proceso, consulte Asociar nombres de función con metadatos JSON.

Problemas conocidos

Se realiza un seguimiento de los problemas conocidos y se notifican en el repositorio de GitHub de Excel Custom Functions.

Enviar comentarios

Si se encuentra con problemas que no se mencionen aquí, infórmenos. Puede notificar los problemas de dos maneras.

En Excel en Windows o en Mac

Si usa Excel en Windows o en Mac, puede informar de los comentarios al equipo de extensibilidad de Office directamente desde Excel. Para ello, seleccione Archivo> Comentarios>Enviar una desaprobación. Al enviar una desaprobación, nos proporcionará los registros necesarios para comprender el problema que ha encontrado.

En Github

Puede notificar los problemas que encuentre mediante la característica "Comentarios acerca del contenido" que hay en la parte inferior de las páginas de documentación, o informando de cada nuevo problema directamente al repositorio de funciones personalizadas.

Siguientes pasos

Obtenga información sobre cómo hacer que las funciones personalizadas sean compatibles con funciones definidas por el usuario XLL.

Vea también