Короткий пост про создание, подключение и использование библиотек в гугл скриптах. Больше нечего написать для вводной части. Го создавать

Создание библиотеки

Создаем новую гугл таблицу. Открываем редактор скриптов

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

function getInd(key,sheet,col) {
 
  let lr = sheet.getLastRow();
  let chat_id_arr = sheet.getRange(1,col,lr).getValues();
  chat_id_arr = chat_id_arr.flat();
  let ind = chat_id_arr.indexOf(key);
  
  return ind;
}

Передаю собственно ключ, лист, на котором надо искать, и номер колонки.

Лично мне в функции все понятно, но будем предусмотрительными и задокументируем ее.

Для этого перед функцией прописываем комментарий:

/**
 * Returns an index of the key in the sheet's column
 * 
 * @param  {number} key The key for searching
 * @param  {SpreadsheetApp.Sheet} sheet The variable containing link to the sheet
 * @param  {number} col The number of the column for searching
 * @return {number} ind index of the key in the table if table includes a header or index of position in the array
 */

В первой строке говорим, что функция делает. Далее описываем параметры: тип параметра заключаем в фигурные скобки, за скобками - имя параметра, далее - описание.

В последней строке добавим описание возвращаемого результата, следуя той же логике, что и при определении параметров.

В результате получаем что-то вроде этого:

/**
 * Returns an index of the key in the sheet's column
 * 
 * @param  {number} key The key for searching
 * @param  {SpreadsheetApp.Sheet} sheet The variable containing link to the sheet
 * @param  {number} col The number of the column for searching
 * @return {number} ind index of the key in the table if table includes a header or index of position in the array
 */
function getInd(key,sheet,col) {
 
  let lr = sheet.getLastRow();
  let chat_id_arr = sheet.getRange(1,col,lr).getValues();
  chat_id_arr = chat_id_arr.flat();
  let ind = chat_id_arr.indexOf(key);
  
  return ind;
}

Сохраняем код и деплоим.

Открывается окно New deployment. Здесь кликаем на шестеренку и выбираем Library

Добавляем описание и кликаем Deploy

После деплоя получаем ссылку и копируем ее.

Из полученного URL нам нужен только id (выделено в ссылке)

https://script.google.com/macros/library/d/1M_paTo_LwVBlOddB-agAG015Sa-zP0a7k2IipmDrxOnERQPKNyxP9EBY/1

Подключение библиотеки

Открываем гугл таблицу и скрипт, из которого хотим вызывать функции из созданной библиотеки. Во вкладке Libraries кликаем на "+"

Вставляем ТОЛЬКО id из URL в строку и кликаем Look up.

Если все успешно, видим сообщение и два дополнительных поля.

В последней строке указываем идентификатор нашей библиотеки, по которому мы будем к ней обращаться в коде.

Возвращаемся к скрипту. Слева во вкладке Libraries видим идентификатор подключенной библиотеки. Когда обращаемся к библиотеке в коде, сразу видим список доступных в этой библиотеке функций (у нас она пока одна)

При выборе функции сразу видим ее описание.

Таким образом, мы создали библиотеку с задокументированной функцией. Аналогично в эту же библиотеку можно добавить другие функции и описание к ним.

Надеюсь, для кого-то пост может быть полезным :-) Спасибо за внимание, жду фидбека.

Комментарии (0)