Google Spreadsheet Script - getCurrentCell () в цикле while работает только один раз? - PullRequest
0 голосов
/ 20 марта 2019

Я играю с 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(), но он делает то же самое.

Похоже, что во время выполнения цикла , когда , скрипт не может "видеть" обновления на листе.

Что я сделал не так в своем коде?Или это известное (странное) поведение?

Спасибо за любую помощь =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...