Поделиться через


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-файле метаданных параметры функции должны указать: { "requiresAddress": true }

Если JSON-файл метаданных создается из комментариев JSDoc, добавьте тег @requiresAddress.

functionName

Имя этой функции.

isInValuePreview

Указывает, вызывается ли функция при предварительном просмотре значения формулы. isInValuePreview доступен только для чтения и не может быть задан надстройкой пользовательских функций. Это значение имеет значение , true если функция вызывается для предварительного просмотра значения формулы; в противном случае — false.

parameterAddresses

Диапазон адресов, в которых находятся параметры функции, если они запрашиваются, в противном случае не определены.

Чтобы запросить адреса параметров для функции, в JSON-файле метаданных параметры функции должны указать: { "requiresParameterAddresses": true }

Если JSON-файл метаданных создается из комментариев JSDoc, добавьте тег @requiresParameterAddresses.

Сведения о свойстве

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

Комментарии

[ Набор API: CustomFunctionsRuntime 1.1 ]

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;
}