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, consulte Información general sobre la depuración de complementos de Office.
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 cubren una variedad de errores, incluidos los errores relacionados con el archivo de manifiesto 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 comandoCustomFunctions.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.