Size: a a a

Чат | Google Таблицы и скрипты

2019 January 04

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Den
понятно. Спасибо еще раз
источник

D

Den in Чат | Google Таблицы и скрипты
о! То, что надо!
источник

D

Den in Чат | Google Таблицы и скрипты
ваще спасибо!
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Den
Друзья, подскажите, пожалуйста, как получить адрес ячейки, содержащей определенный текст, чтобы потом можно было использовать этот адрес для формирования нового адреса со смещением от первоначального.
Например, мне нужно получить содержимое ячейки, отстоящей на 3 строки от ячейки, содержащей текст "KEY". Какими функциями лучше пользоваться?
Пример Таблицы есть?
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Коля
Доброй ночи ребят,
есть такой скрипт, который показывает каждный заход в таблицу на отдельном листе с датой

function onOpen(e){
 var log = e.source.getSheetByName("Log_Таня")
 var stamp = [[new Date()]]
 log.getRange(log.getLastRow()+1, 1, 1, 1).setValues(stamp)
 }

Только проблема есть в том что оно работает только если на компе открывают таблицу, а на телефоне нет( есть какое то решение? В конечном результате надо получить отчет по заходу в Таблицу
Не делайте так. Применение скрипта в корне неверное.
источник

И/

Игорь //api.net.ua... in Чат | Google Таблицы и скрипты
Всем доброго дня, заметил очень маленький глюк если добавлять картинку с помощью скрипта:
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
источник

И/

Игорь //api.net.ua... in Чат | Google Таблицы и скрипты
SpreadsheetApp.flush(); - также не отрабатывает
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Игорь //api.net.ua
SpreadsheetApp.flush(); - также не отрабатывает
var img = ...; 
Utilities.sleep(500);
img.assignScript('myFunction');
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Скорее всего это не глюк, а особенность облачного сервиса.
источник

И/

Игорь //api.net.ua... in Чат | Google Таблицы и скрипты
у меня Utilities.sleep(800); - ближе к секунде задержка отрабатывает, и то через раз
Но это не совсем подходит, т.к. вывод будет около 30 картинок
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Игорь //api.net.ua
у меня Utilities.sleep(800); - ближе к секунде задержка отрабатывает, и то через раз
Но это не совсем подходит, т.к. вывод будет около 30 картинок
Почему вы так решили?
источник

И/

Игорь //api.net.ua... in Чат | Google Таблицы и скрипты
т.к. на вывод картинки надо тратить гдето секунду
источник

И/

Игорь //api.net.ua... in Чат | Google Таблицы и скрипты
у меня формирование листа более 5 секунд уже критично
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Игорь //api.net.ua
у меня формирование листа более 5 секунд уже критично
Тогда вы используетет не тот сервис
источник

И/

Игорь //api.net.ua... in Чат | Google Таблицы и скрипты
не надо так критично, в  данной проблемы есть одно решение, но оно визуально немного не красивое
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Игорь //api.net.ua
не надо так критично, в  данной проблемы есть одно решение, но оно визуально немного не красивое
Мне кажется, что немного критики стоит добавить. Например, 30 картинок нельзя добавить за 5 секунд. Т.е. задача даже не в assignScript.
Если у вас есть решение, то стоит поделиться, а не ждать решений только с одной стороны.
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Игорь //api.net.ua
т.к. на вывод картинки надо тратить гдето секунду
Нет. Вы должны использовать Utilities.sleep(500); один раз.
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Так же странно "нарезать" задачи во время решения. Тем самым вы ввели меня в заблуждение. Нет никакой необходимости в Utilities.sleep(500); при обработке 30 картинок - Таблица из-за тормозов, успевает перекешироваться, и все появляется само. Какая уж тут критика? Тут в самую пору говорить о лени в лоб.
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Призайтесь, не пробовали даже?
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
[19-01-04 09:33:51:399 MSK] Starting execution
[19-01-04 09:33:51:406 MSK] SpreadsheetApp.getActiveSheet() [0 seconds]
[19-01-04 09:33:51:610 MSK] Sheet.getImages() [0.204 seconds]

 [19-01-04 09:33:51:702 MSK] OverGridImage.remove() [0.091 seconds]
 x29 times

 [19-01-04 09:33:59:228 MSK] Sheet.insertImage([http://www.myudm.ru/sites/default/files/gallery-1.png, 1, 1]) [1.682 seconds]
 x29 times

 [19-01-04 09:34:38:355 MSK] OverGridImage.assignScript([myFunction]) [0.082 seconds]
 [19-01-04 09:34:38:355 MSK] Sheet.getRange([D30]) [0 seconds]
 x29 times

[19-01-04 09:34:49:635 MSK] Execution succeeded [58.077 seconds total runtime]
источник