Size: a a a

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

2019 May 13

P

Pavel in Чат | Google Таблицы и скрипты
Eugeny Namokonov
4 - это 5ый столбец
я везде уменьшил на 1, справа исходных код закоментирован )
источник

EN

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

P

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

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
как будто у тебя цикл не работает на последнем элементе
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
​​Скрипт, загружаем письма вашего GMAIL-аккаунта в Таблицу

Друзья, привет! Мы подготовили для вас скрипт. Он умеет переносить письма из gmail-аккаунта юзера, запустившего скрипт в Таблицу. 

Одна строка — одно письмо, при переносе скрипт делает перенесенные письма прочитанными в почтовом ящике.

Чтобы заработало, вам нужно:
1. скопировать Таблицу со скриптом
2. открыть редактор скриптов > дополнительные функции Google и включить Gmail API
3. заполнить первые три строки в коде: 
— ID таблицы и название листа, туда будут вставляться письма
— Поисковый запрос к почтовому ящику, например 
'after:2019/05/12' - письма после 12 мая
'after:2019/05/12 and is:unread' - после 12 мая и непрочитанные
4. запустить функцию run(), ее можно запускать как руками, так и ставить в расписание на регулярный запуск (изменить > триггеры текущего проекта в редакторе скриптов), письма по вашему запросу будут добавляться в Таблицу

P.S. Синтаксис поискового запроса: https://support.google.com/mail/answer/7190, созданный запрос можете проверить в веб-интерфейсе почты gmail.

Спасибо @oshliaer за отличный код!
источник

P

Pavel in Чат | Google Таблицы и скрипты
Eugeny Namokonov
как будто у тебя цикл не работает на последнем элементе
Еще последнюю строку опредяляет не верно (
Последняя строка = 1000
Где тут то мог накосячить ?
getLastRow - должно же определять последнюю заполненную ячейку

var sheet = ss.getSheetByName("Кухня")
var rrr = sheet.getDataRange().getValues()
var lll = sheet.getRange("D3:D").getLastRow()
источник

EN

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

АИ

Авазбек Исманов... in Чат | Google Таблицы и скрипты
Pavel
Еще последнюю строку опредяляет не верно (
Последняя строка = 1000
Где тут то мог накосячить ?
getLastRow - должно же определять последнюю заполненную ячейку

var sheet = ss.getSheetByName("Кухня")
var rrr = sheet.getDataRange().getValues()
var lll = sheet.getRange("D3:D").getLastRow()
var numOfFilled = sheet.getRange("D3:D").getValues().filter(String).length;
это чтобы определить сколько ячеек заполнены. Затем можно сделать так

sheet.getRange("D3:D" + numOfFilled)
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Авазбек Исманов
var numOfFilled = sheet.getRange("D3:D").getValues().filter(String).length;
это чтобы определить сколько ячеек заполнены. Затем можно сделать так

sheet.getRange("D3:D" + numOfFilled)
с пропусками проверял?
источник

P

Pavel in Чат | Google Таблицы и скрипты
Авазбек Исманов
var numOfFilled = sheet.getRange("D3:D").getValues().filter(String).length;
это чтобы определить сколько ячеек заполнены. Затем можно сделать так

sheet.getRange("D3:D" + numOfFilled)
источник

АИ

Авазбек Исманов... in Чат | Google Таблицы и скрипты
Eugeny Namokonov
с пропусками проверял?
к сожалению с пропусками будет не хорошо)
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Авазбек Исманов
к сожалению с пропусками будет не хорошо)
Во-во
источник

АИ

Авазбек Исманов... in Чат | Google Таблицы и скрипты
Авазбек Исманов
var numOfFilled = sheet.getRange("D3:D").getValues().filter(String).length;
это чтобы определить сколько ячеек заполнены. Затем можно сделать так

sheet.getRange("D3:D" + numOfFilled)
исправил
источник

АИ

Авазбек Исманов... in Чат | Google Таблицы и скрипты
а как определять последнюю заполненную ячейку в диапазоне если с пропусками?
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Авазбек Исманов
а как определять последнюю заполненную ячейку в диапазоне если с пропусками?
в чате было несколько вариантов, поищи по getLastrow
источник

АИ

Авазбек Исманов... in Чат | Google Таблицы и скрипты
хорошо
источник

АИ

Авазбек Исманов... in Чат | Google Таблицы и скрипты
Eugeny Namokonov
function GETLASTROW(range) {
 var l = range.length;
 while(range[--l][0] === '');
 return l + 1;
}
по моему этот, я так и думал что нужно идти наооборот с низу вверх, а не сверху в низ)))
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
ну тебе надо определить последнюю заполненную ячейку
источник

EN

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

АИ

Авазбек Исманов... in Чат | Google Таблицы и скрипты
да посмотрел и примеры.
источник