CustomFunctions.Invocation interface
Предоставляет сведения о вызове пользовательской функции.
Комментарии
Примеры
/**
* Return the address of the cell that invoked the custom function.
* @customfunction
* @param {number} first First parameter.
* @param {number} second Second parameter.
* @param {CustomFunctions.Invocation} invocation Invocation object.
* @requiresAddress
*/
function getAddress(first, second, invocation) {
const address = invocation.address;
return address;
}
Свойства
| address | Адрес ячейки, в которой вызывается функция, если он запрашивается, в противном случае не определен. Чтобы запросить адрес для функции, в JSON-файле метаданных параметры функции должны указать: Если JSON-файл метаданных создается из комментариев JSDoc, добавьте тег |
| function |
Имя этой функции. |
| is |
Указывает, вызывается ли функция при предварительном просмотре значения формулы.
|
| parameter |
Диапазон адресов, в которых находятся параметры функции, если они запрашиваются, в противном случае не определены. Чтобы запросить адреса параметров для функции, в JSON-файле метаданных параметры функции должны указать: Если JSON-файл метаданных создается из комментариев JSDoc, добавьте тег |
Сведения о свойстве
address
Адрес ячейки, в которой вызывается функция, если он запрашивается, в противном случае не определен.
Чтобы запросить адрес для функции, в JSON-файле метаданных параметры функции должны указать: { "requiresAddress": true }
Если JSON-файл метаданных создается из комментариев JSDoc, добавьте тег @requiresAddress.
address?: string;
Значение свойства
string
Комментарии
[ Набор API: CustomFunctionsRuntime 1.1 ]
Примеры
/**
* Return the address of the cell that invoked the custom function.
* @customfunction
* @param {number} first First parameter.
* @param {number} second Second parameter.
* @param {CustomFunctions.Invocation} invocation Invocation object.
* @requiresAddress
*/
function getAddress(first, second, invocation) {
const address = invocation.address;
return address;
}
functionName
Имя этой функции.
functionName?: string;
Значение свойства
string
Комментарии
isInValuePreview
Указывает, вызывается ли функция при предварительном просмотре значения формулы.
isInValuePreview доступен только для чтения и не может быть задан надстройкой пользовательских функций. Это значение имеет значение , true если функция вызывается для предварительного просмотра значения формулы; в противном случае — false.
isInValuePreview?: string;
Значение свойства
string
Комментарии
[ Набор API: CustomFunctionsRuntime 1.5 ]
Примеры
/**
* 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.
*/
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 usable but fake number.
return 450000;
} else {
// Make the actual service calls in this block.
const price = callHouseServiceAPI(address);
return price;
}
}
parameterAddresses
Диапазон адресов, в которых находятся параметры функции, если они запрашиваются, в противном случае не определены.
Чтобы запросить адреса параметров для функции, в JSON-файле метаданных параметры функции должны указать: { "requiresParameterAddresses": true }
Если JSON-файл метаданных создается из комментариев JSDoc, добавьте тег @requiresParameterAddresses.
parameterAddresses?: string[];
Значение свойства
string[]
Комментарии
[ Набор API: CustomFunctionsRuntime 1.3 ]
Примеры
/**
* Return the addresses of three parameters.
* @customfunction
* @param {string} firstParameter First parameter.
* @param {string} secondParameter Second parameter.
* @param {string} thirdParameter Third parameter.
* @param {CustomFunctions.Invocation} invocation Invocation object.
* @returns {string[][]} The addresses of the parameters, as a 2-dimensional array.
* @requiresParameterAddresses
*/
function getParameterAddresses(firstParameter, secondParameter, thirdParameter, invocation) {
const addresses = [
[invocation.parameterAddresses[0]],
[invocation.parameterAddresses[1]],
[invocation.parameterAddresses[2]]
];
return addresses;
}