Google Spreadsheet脚本-while循环中的getCurrentCell()仅可运行一次?

时间:2019-03-20 17:47:29

标签: google-apps-script google-sheets

几天以来,我一直在使用Google表格,现在可以尝试“查看”用户在表格上的位置了。

为此,我尝试在 while循环中使用getActiveCell()方法,如下所示:

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()方法,但它的作用完全相同。

while循环正在运行时,脚本无法在工作表上“看到”更新。

我在代码中做错了什么?还是已知的(怪异)行为?

感谢您的帮助=)

0 个答案:

没有答案