Всем доброго дня, заметил очень маленький глюк если добавлять картинку с помощью скрипта:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var images = sheet.getImages();
for (var i = 0; i < images.length; i++) images[i].remove();
sheet.insertImage('
http://www.myudm.ru/sites/default/files/gallery-1.png', 1, 1).assignScript('myFunction'); // Не отработает, без обновления страницы
sheet.insertImage('
http://www.myudm.ru/sites/default/files/gallery-1.png', 5, 1); // Отработает
}
Так вот, если сразу присваивать картинке отработку некой функции, то эта картинка сразу не появляеться на листе, надо обновлять страницу, хотя без скрипта картинка появляется сразу
Перепробовал множество вариантов, может кто подскажет как это побороть?
Вот тестовая таблица
https://docs.google.com/spreadsheets/d/1qZuSBLGWA-LSbidbSUzCpGxyhc7gyU9qMU_dLYgjTJw/edit?usp=sharingВ продолжение данной темы, путем эксперементов выяснил, что картинка без обновления листа НЕ выведется если к функции
sheet.insertImage('
https://fd.ru/images/Mail/incandescent-light-bulb.png', i, 1)...добавить_любую_функцию()
А вот если просто выводить
sheet.insertImage('
https://fd.ru/images/Mail/incandescent-light-bulb.png', i, 1) - выведется без обновления листа.
поэтому нашел одно корректное решение, сначала выводим картинки, затем их же опять забираем в массив и в цикле присваиваем скрипт
итого код выйдет
function myFunction() {
var sheet = SpreadsheetApp.getActive();
var images = sheet.getImages();
for (var i = 0; i < images.length; i++) images[i].remove();
for (var i=1; i<10; i++)
sheet.insertImage('
https://fd.ru/images/Mail/incandescent-light-bulb.png', i, 1);
images = sheet.getImages();
for (var i = 0; i < images.length-1; i++)
images[i].assignScript('myFunction');
}