Size: a a a

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

2018 July 24

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Валерий Чернобров
@oshliaer Что значит количество строк и максимальное количество строк? Правильно ли я понимаю, что количество строк это то, сколько их создано сейчас, например 1 000, а максимально количество это то, сколько их вообще может быть, вроде бы 2 000 000?
В Таблице есть несколько параметров, один из них - диапазон данных, т.е. крайняя нижняя строка и крайняя правая колонка, которые очеряивают периметр данных. А есть максимальное количество строк - это, обычно, то количество строк, которое видит пользователь глазом. Ну, и колонок, соответственно.
источник

ВЧ

Валерий Чернобров... in Чат | Google Таблицы и скрипты
@oshliaer Хорошо)) То есть максмальное количество строк и количество строк всегда будут равны? Ведь если я вижу 1000 строк (максимальное кол-во) то количество строк тоже 1000, соотствественно он всегда будет переходить на последнюю строку :)) Похоже я где то недопонял, видимо везде))
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Валерий Чернобров
@oshliaer Хорошо)) То есть максмальное количество строк и количество строк всегда будут равны? Ведь если я вижу 1000 строк (максимальное кол-во) то количество строк тоже 1000, соотствественно он всегда будет переходить на последнюю строку :)) Похоже я где то недопонял, видимо везде))
Максимальное всегда больше или равно последней строке.
источник

ВЧ

Валерий Чернобров... in Чат | Google Таблицы и скрипты
@oshliaer Но у меня получается, что оно равно, раз переходим на последнюю строку. Не могу понять четкой разницы между максимальным количеством и общим количеством
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Валерий Чернобров
@oshliaer Но у меня получается, что оно равно, раз переходим на последнюю строку. Не могу понять четкой разницы между максимальным количеством и общим количеством
ну возьмите наш код и прибавьте к нему 1
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
function onOpen() {

var ss=SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSelection(‘A’+ss.getLastRow()+1);

}
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Eugeny Namokonov
function onOpen() {

var ss=SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSelection(‘A’+ss.getLastRow()+1);

}
Ну, не факт. Все же код должен работать всегда. Тут надо еще добавить проверки.
источник

NK

ID:541134294 in Чат | Google Таблицы и скрипты
Alexander Ivanov
Я бы предпочел
function onOpen(e) {
 try{
   var __ = {
     s: e.range.getSheet()
   }
   __.lr = __.s.getLastRow();
   __.mr = __.s.getMaxRows();  
   __.s.getRange(__.lr == __.mr ? __.lr : __.lr + 1, 1).activate();
   
 } catch (err){
   console.error(err);
 }
}
Объяснения к этому коду занимает раз в 20 больше символов :)
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
ID:541134294
Объяснения к этому коду занимает раз в 20 больше символов :)
Не все ожидаемо простое будет простым
🕳                                  Дырка от бублика
источник

NK

ID:541134294 in Чат | Google Таблицы и скрипты
onOpen(e) - после срабатывания тригерра у нас в е какой объект находится SpreadSheetApp.getActiveSheet() ,правильно?
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
ID:541134294
onOpen(e) - после срабатывания тригерра у нас в е какой объект находится SpreadSheetApp.getActiveSheet() ,правильно?
function onOpen(e) {
 
 var ss = e.source
 ss.setActiveSelection('A' + (ss.getLastRow() + 1));
 
}
источник

EN

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

NK

ID:541134294 in Чат | Google Таблицы и скрипты
То есть var ss=e.source одновалентно var ss=e.getRange().getSheet(), первый пример короче получается :)
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
ID:541134294
То есть var ss=e.source одновалентно var ss=e.getRange().getSheet(), первый пример короче получается :)
какой первый пример?
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
это должно быть эквивалентно

var spreadsheet = SpreadsheetApp.getActive();

var ss=e.source

ну и видимо это тоже var ss=e.getRange().getSheet()
источник

NK

ID:541134294 in Чат | Google Таблицы и скрипты
Eugeny Namokonov
это должно быть эквивалентно

var spreadsheet = SpreadsheetApp.getActive();

var ss=e.source

ну и видимо это тоже var ss=e.getRange().getSheet()
Да я это имел ввиду
источник

NK

ID:541134294 in Чат | Google Таблицы и скрипты
Alexander Ivanov
Я бы предпочел
function onOpen(e) {
 try{
   var __ = {
     s: e.range.getSheet()
   }
   __.lr = __.s.getLastRow();
   __.mr = __.s.getMaxRows();  
   __.s.getRange(__.lr == __.mr ? __.lr : __.lr + 1, 1).activate();
   
 } catch (err){
   console.error(err);
 }
}
То есть можно изменить var __={s:e.source}
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
ID:541134294
onOpen(e) - после срабатывания тригерра у нас в е какой объект находится SpreadSheetApp.getActiveSheet() ,правильно?
Нет
источник

NK

ID:541134294 in Чат | Google Таблицы и скрипты
???
источник

EN

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