Size: a a a

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

2019 January 05

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Vladislav
Я решил в целом поменять подход и сохраняю валюту в отдельной колонке, так надежней, а то мало ли зацеплю форматирование и уже будет не то, особенно учитывая то, что будут разные валюты, соответственно придется часто лазить и форматировать. Да и само решение со скриптами показалось избыточным для данной ситуации, предпочитаю решать встроенными функциями.
В любом случае, всем спасибо за помощь.
Это очевидно. Вы не можете хранить данные в форматировании. Как минимум это опрометчиво. Интересен был сам подход. Я сначала думал обойтись сравнением вывода со значением, но оказалось, что при таком расскладе представление о значении в ячейке еще более расплывчато.
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Плюс, невозможно просто посчитать, если число округлено форматированием.
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Хотя, последний вариант, если согласиться на некоторые условности, самый рабочий.
источник
2019 January 06

И/

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

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Игорь //api.net.ua
В продолжение данной темы, путем эксперементов выяснил, что картинка без обновления листа НЕ выведется если к функции
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');
}
Любопытно. Странно, что обычный SpreadsheetApp.flush(); не помогает.
источник

И/

Игорь //api.net.ua... in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Любопытно. Странно, что обычный SpreadsheetApp.flush(); не помогает.
видать только на текст срабатывает.
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Игорь //api.net.ua
В продолжение данной темы, путем эксперементов выяснил, что картинка без обновления листа НЕ выведется если к функции
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');
}
Я же это решение и пердлагал позавчера. Почему же оно стало корректным?
источник

И/

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

AI

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

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Там же пример с решением в 3 строки.
источник

И/

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

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Игорь //api.net.ua
Не нашел примера ))) ну главное что оба к такому решению пришли. Значит оно и есть оптимальное
Ээээ... Ща сам поищу =) Момент
источник

P

Pavel in Чат | Google Таблицы и скрипты
Как всегда крутая статья
https://medium.com/@grclubpoker/%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC-%D1%81%D0%BC%D1%81-%D0%B8%D0%B7-google-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B-67608cb99e6a

Подскажите пжлст по скрипту
Какой запрос использовать для открытия ячейки с ссылкой (для отправки смс)
Если по скрипту подскажете будет вообще круто )

Задача:
Что бы в определенное время отправлялись СМС
источник

P

Pavel in Чат | Google Таблицы и скрипты
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Привет, на скриншоте какая-то проблема с ячейкой D2, там не должно быть ошибки.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Там должна быть текстовая строка аля ссылка, которую можно нажать.
источник

J

Jake in Чат | Google Таблицы и скрипты
А вместо ссылки для оправки можно сделать кнопку или галочку ?
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Jake
А вместо ссылки для оправки можно сделать кнопку или галочку ?
Можно
источник

J

Jake in Чат | Google Таблицы и скрипты
А можете показать как ?
источник

J

Jake in Чат | Google Таблицы и скрипты
Как сделать кнопку и может динамически добавлять не в таблицу когда появляется новая запись
источник