Я играю с Google Sheets уже несколько дней, и я дошел до того, что я пытаюсь «увидеть», где находится пользователь на листе.
Для этого япопытался использовать метод getActiveCell () в цикле while , например:
function menuItem1() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
row = 0;
while(1) //WARNING : infinite loop
{
new_row = sheet.getActiveCell().getRow();
if (row != new_row)
{
Browser.msgBox("You have selected row " + new_row);
row = new_row;
}
}
}
Короче говоря, если пользователь выбирает новую ячейку, появится окно с сообщением, отображающее строкуновой ячейки.
И по какой-то причине он работает только для первой итерации цикла.Я запускаю сценарий, в окне сообщения появляется сообщение «Вы выбрали строку xxx», и если выбрать ячейку в другой строке ... она ничего не делает.
При просмотре документации я обнаружил getCurrentCell(), но он делает то же самое.
Похоже, что во время выполнения цикла , когда , скрипт не может "видеть" обновления на листе.
Что я сделал не так в своем коде?Или это известное (странное) поведение?
Спасибо за любую помощь =)