let result = getInfo(); // есть "полный объект"
let user = User(result); // делаем так или как-то иначе
// вот тут age должно подставиться автоматом,
// и при этом в user не должно быть поля error
if (user.age >= 18){
};
/**
* @param {funcName} Имя custon функции
* @return Возвращает агрумент(ы) в виде range
*/
function getParamRanges(funcName) {
const ourSheet = SpreadsheetApp.getActiveSheet();
const formula = SpreadsheetApp.getActiveRange().getFormula();
const re = new RegExp(`.+${funcName}\\s*\\((.*?)\\)`, 'i');
const ranges = [];
try {
const args = formula.match(re)[1].split(/\s*,\s*/);
for (let i = 0; i < args.length; i += 1) {
const arg = args[i].split('!');
try {
if (arg.length === 1) {
ranges[i] = ourSheet.getRange(arg[0]);
} else {
const sheetName = arg[0].replace(/'/g, '');
const otherSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(
sheetName
);
ranges[i] = otherSheet.getRange(arg[1]);
}
} catch (e) {
ranges[i] = null;
}
}
} catch (e) {
Logger.log(e);
}
return ranges;
}
const thisFunctionName = (args) =>
args.callee.toString().match(/function ([^(]*)\(/)[1];
/**
* Возвращает примечание к ячейке
* Telegram - @ProgrammerForever
*
* @param {string} sheetName Имя листа
* @param {string} rangeName Адрес ячейки в текстовом виде
* @return Возвращает примечание к ячейке
* @customfunction
*/
function getNotes(pRange) {
const range = getParamRanges(thisFunctionName(arguments));
return range[0].getNotes();
}
function senler(){
var data = {
'vk_group_id': 163864515,
'v': 2,
'vk_user_id': 132528477,
'bot_id': 356810,
'access_token': 'ee95------------------------------------------6',
};
var options = {
'method': 'POST',
'payload': data,
};
let response = UrlFetchApp.fetch('https://senler.ru/api/bots/addSubscriber', options);
Logger.log(response.getResponseCode());
}
function onEdit(event) {
const firstColumn = 1; // Первый столбец
const lastColumn = 10; // Последний столбец
const sheetNamesAllow = ["Лист1", "Лист2"]; // Указываем на каких листах должен работать скрипт
let ss = event.source.getActiveSheet(); // Текущий лист
if (sheetNamesAllow.indexOf(ss.getName()) == -1) return;
let row = event.range.getRow(); // Номер строки
let newValue = event.value; // Новое значение
let values = [(new Array(+lastColumn - firstColumn + 1)).fill(newValue)]; // Новые значения (2D массив)
let address = "R" + row + "C" + firstColumn + ":R" + row + "C" + lastColumn;// Адрес ячеек
ss.getRange(address).setValues(values); // Запись
};
2) Составить список на отправку
3) Для каждого листа сформировать blob
4) С помощью MailApp отправить в цикле всем с blob во вложении
Если надо готовое решение - пишите в личку