Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Вы можете управлять тем, как пользовательская функция вычисляет результаты при участии в режиме предварительного просмотра значений формул. Режим предварительного просмотра значений формул — это функция, которая позволяет конечным пользователям выбирать части формулы при редактировании ячейки для предварительного просмотра значений. Эта функция помогает пользователям оценивать формулу при ее редактировании. На следующем рисунке показан пример изменения формулы и выделения текста A1+A2. В режиме предварительного просмотра формулы отображается приведенное выше значение 7 .
По умолчанию пользователь может просмотреть пользовательские функции (например =getHousePrice(A1), ). Однако в следующем списке показаны некоторые сценарии, в которых может потребоваться управлять тем, как пользовательская функция участвует в режиме предварительного просмотра значений формул.
- Пользовательская функция вызывает один или несколько API, которые взимают плату за их использование.
- Пользовательская функция обращается к одному или нескольким скудным ресурсам, таким как базы данных.
- Для вычисления результата настраиваемой функции требуется значительное время, и это не будет полезно для пользователя во время предварительной версии.
Вместо этого можно изменить поведение пользовательской функции, чтобы вернуть макетное значение. Для этого используйте свойство только для invocation.isInValuePreview чтения. В следующем примере кода показан пример пользовательской функции с именем getHousePrice , которая ищет цены на жилье с помощью монетизированного API. Если isInValuePreview имеет значение true, пользовательская функция возвращает макетный номер для использования и позволяет избежать каких-либо затрат. Если isInValuePreview имеет значение false, пользовательская функция вызывает API и возвращает фактическое значение цены на жилье для использования в электронной таблице 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;
}
}