有没有办法设置用户不与之交互的单元格的值

Is there a way to set the value of a cell which the user isn't interacting with

我创建了一个函数,它在按下按钮时显示弹出消息,然后将用户所在的单元格的值设置为时间,我想知道我是否可以做同样的事情,而是设置不同单元格的值(最好与用户所在的单元格直接相关。

这就是我现在的看法,但如果有更简单的方法(或没有更简单的方法),那将非常有用。

function endCellCode() {
  var cell = SpreadsheetApp.getCurrentCell();       //I am trying to add a variable that adds a 
                                                    //column to the CurrentCell, which i can set 
                                                    //the value of (without changing the value 
                                                    //of the CurrentCell
  var ui = SpreadsheetApp.getUi();
  var response = ui.alert('Do you want to end?', '', ui.ButtonSet.YES_NO);
  var output;
  if (response == ui.Button.YES) {
    cell.setValue(new Date());
  }
}

谢谢!

如果你想找到下一列的位置,但你的活动单元格的同一行,你可以使用 cell.offset(0,1).

以下代码将向活动单元格和同一行下一列中的单元格添加新的时间戳:

function endCellCode() {
  var cell = SpreadsheetApp.getCurrentCell();
  var next_cell = SpreadsheetApp.getActive().getActiveSheet().getRange(cell.offset(0,1).getA1Notation());
                                           
  var ui = SpreadsheetApp.getUi();
  var response = ui.alert('Do you want to end?', '', ui.ButtonSet.YES_NO);
  var output;
  if (response == ui.Button.YES) {
    cell.setValue(new Date());
    next_cell.setValue(new Date())
  }
}

如果单元格右侧没有可用列,脚本将自动创建一个。


参考文献: