从多个onEdit()触发器获取值

时间:2020-03-31 11:49:25

标签: javascript google-apps-script google-sheets

我知道这个问题听起来很奇怪。但是我对Google工作表和触发器操作不是一个菜鸟。这是问题所在,可以说我在工作表 col_Link和col_value 中有两个列。 col_link包含指向另一张纸的链接,第二张纸很明显。我必须先从col_link获取值,然后执行一些操作,然后在执行第二项操作时,我仍然需要此col_Link的链接。
现在,我安装了执行此操作的onEdit()触发器,但我卡在这块小东西上。 代码:

var c = e.range.getColumn();
var r = e.range.getRow();
var val = e.range.getValue();

if (c==1){

  Link_operation(val,row,col);    // this val contains link.
}
else if(c==2){
 Value_operation(link,val,row,col); 
    // here val is some value. I want this function to somehow also has the link from col_Link.
}

由于值只能包含链接或值。 我应该怎么做才能做到这一点?我应该更改解决此问题的方式,还是可以实现这样的多个价值? 将不胜感激。

1 个答案:

答案 0 :(得分:2)

您的问题有点含糊,可能应该包括屏幕截图或更好的详细说明您的预期结果是什么。

如果您想从onEdit(e)触发器中获取多个不在编辑范围内的值,则按照主建议,使用偏移是一种方法。

function onEdit(e) {

    var sheet = SpreadsheetApp.getActiveSheet();

    var c = e.range.getColumn();
    var r = e.range.getRow();
    var val = e.range.getValue();

    var link = sheet.getRange(r, c - 1).getValue();
    Logger.log(link);

}

在此示例中,如果单元格B6被编辑,则A6中的值将被记录。

enter image description here