Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Pode controlar a forma como a função personalizada calcula os resultados ao participar no modo de pré-visualização do valor da fórmula. O modo de pré-visualização do valor da fórmula é uma funcionalidade que permite aos utilizadores finais selecionar partes de uma fórmula enquanto editam a célula para pré-visualizar os valores. Esta funcionalidade ajuda os utilizadores a avaliar a fórmula à medida que a editam. A imagem seguinte mostra um exemplo do utilizador a editar uma fórmula e a selecionar o texto A1+A2. O modo de pré-visualização de fórmulas mostra o valor 7 acima.
Por predefinição, as funções personalizadas (por exemplo =getHousePrice(A1), ) podem ser pré-visualizadas pelo utilizador. No entanto, a lista seguinte mostra alguns cenários nos quais poderá querer controlar a forma como a função personalizada participa no modo de pré-visualização do valor da fórmula.
- A função personalizada chama uma ou mais APIs que cobram uma taxa pela sua utilização.
- A sua função personalizada acede a um ou mais recursos escassos, como bases de dados.
- A função personalizada demora muito tempo a calcular o resultado e não seria útil para um utilizador durante os fins de pré-visualização.
Em alternativa, pode alterar o comportamento da sua função personalizada para devolver um valor simulado. Para tal, utilize a invocation.isInValuePreview propriedade só de leitura. O seguinte exemplo de código mostra uma função personalizada de exemplo com o nome getHousePrice que procura os preços das casas através de uma API monetizada. Se isInValuePreview for true, a função personalizada devolve um número simulado a ser utilizado e evita incorrer em qualquer custo. Se isInValuePreview for false, a função personalizada chama a API e devolve o valor real do preço da casa para utilização na folha de cálculo do 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;
}
}