Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Vous pouvez contrôler la façon dont votre fonction personnalisée calcule les résultats lors de la participation en mode aperçu de valeur de formule. Le mode aperçu de la valeur de formule est une fonctionnalité qui permet aux utilisateurs finaux de sélectionner des parties d’une formule tout en modifiant la cellule pour afficher un aperçu des valeurs. Cette fonctionnalité permet aux utilisateurs d’évaluer la formule au fur et à mesure qu’ils la modifient. L’image suivante montre un exemple de l’utilisateur qui modifie une formule et sélectionne le texte A1+A2. Le mode d’aperçu de formule affiche la valeur 7 ci-dessus.
Par défaut, les fonctions personnalisées (par exemple =getHousePrice(A1)) peuvent être aperçues par l’utilisateur. Toutefois, la liste suivante présente certains scénarios dans lesquels vous pouvez contrôler la façon dont votre fonction personnalisée participe en mode aperçu de valeur de formule.
- Votre fonction personnalisée appelle une ou plusieurs API qui facturent un tarif pour leur utilisation.
- Votre fonction personnalisée accède à une ou plusieurs ressources rares telles que les bases de données.
- Votre fonction personnalisée prend beaucoup de temps pour calculer le résultat, et elle ne serait pas utile pour un utilisateur à des fins de préversion.
Vous pouvez modifier le comportement de votre fonction personnalisée pour retourner une valeur fictive à la place. Pour ce faire, utilisez la invocation.isInValuePreview propriété en lecture seule. L’exemple de code suivant montre un exemple de fonction personnalisée nommée getHousePrice qui recherche les prix des maisons via une API monétisée. Si isInValuePreview a la valeur true, la fonction personnalisée retourne un nombre fictif à utiliser et évite tout coût. Si isInValuePreview a la valeur false, la fonction personnalisée appelle l’API et retourne la valeur réelle du prix de la maison à utiliser dans la feuille de calcul Excel.
/**
* Get the listing price for a house on the market for the given address.
* @customfunction
* @param address The address of the house.
* @param invocation Custom function handler.
* @returns The price of the house at the address.
*/
export function getHousePrice(address: string, invocation: CustomFunctions.Invocation): number {
// Check if this call is for formula value preview mode.
if (invocation.isInValuePreview) {
// Avoid long-running expensive service calls.
// Return a useable but fake number.
return 450000;
} else {
// Make the actual service calls in this block.
const price = callHouseServiceAPI(address);
return price;
}
}