在Google表格中组合两个脚本(Javascript)

时间:2016-11-17 02:53:27

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

我正在尝试将我在Google工作表上使用的两个脚本合并为一个。 它们都可以在不同的标签上工作。

将脚本组合在一起的正确方法是什么?

我的两个脚本如下:

function onEdit(e) {
var sheets = ['Sanshiro', 'Yujiro', 'Mei', 'Suil', 'Martin', 'Yuta', 'Rachel','So'],
    cols = [1, 6, 4],
    writeCols = [15, 11],
    ind = cols.indexOf(e.range.columnStart);
if (sheets.indexOf(e.source.getActiveSheet()
    .getName()) === -1 || ind === -1 || !e.value) return;
if (ind === 0 && e.value === 'Update') {
    e.range.setValue(new Date());
} else if (ind === 1) {
    if (e.range.offset(0, 5)
        .getValue() === '') e.range.offset(0, 5)
        .setValue(2);
    if (e.range.offset(0, 9)
        .getValue() === '') e.range.offset(0, 10)
        .setValue(new Date());
   if (e.range.offset(0, -5)
        .getValue() === '') e.range.offset(0, -5)
        .setValue(new Date());
  else if (ind === 1) {
    if (e.range.offset(0, 1)
        .getValue() === 'Updated') e.range.offset(0, 1)
        .setValue(Col1);
}
}}
    function onEdit() {
  var s = SpreadsheetApp.getActiveSheet();
  if( s.getName() == "Must Place candis" ) { //checks that we're on the correct sheet
    var r = s.getActiveCell();
    if( r.getColumn() == 2 ) { //checks the column
      var nextCell = r.offset(0,12);
        nextCell.setValue(new Date());

              }
            }
  }

任何帮助将不胜感激!如果你能帮助我理解这个过程,那么我想学习!

非常感谢!

1 个答案:

答案 0 :(得分:0)

以下脚本怎么样?使用“IF”将2个脚本汇总为一个。

function onEdit(e) {
  var s = SpreadsheetApp.getActiveSheet();
  var sheets = ['Sanshiro', 'Yujiro', 'Mei', 'Suil', 'Martin', 'Yuta', 'Rachel','So'];
  if (sheets.indexOf(e.source.getActiveSheet().getName()) > -1){
    script1();
  }
  if(s.getName() == "Must Place candis") {
    script2(s);
  }
}

function script1(){
  var cols = [1, 6, 4],
      writeCols = [15, 11],
      ind = cols.indexOf(e.range.columnStart);
  if (ind === 0 && e.value === 'Update') {
    e.range.setValue(new Date());
  } else if (ind === 1) {
    if (e.range.offset(0, 5)
        .getValue() === '') e.range.offset(0, 5)
        .setValue(2);
    if (e.range.offset(0, 9)
        .getValue() === '') e.range.offset(0, 10)
        .setValue(new Date());
    if (e.range.offset(0, -5)
        .getValue() === '') e.range.offset(0, -5)
        .setValue(new Date());
    else if (ind === 1) {
      if (e.range.offset(0, 1)
        .getValue() === 'Updated') e.range.offset(0, 1)
        .setValue(Col1);
    }
  }
}

function scritp2(s){
  if( s.getName() == "Must Place candis" ) { //checks that we're on the correct sheet
    var r = s.getActiveCell();
    if( r.getColumn() == 2 ) { //checks the column
      var nextCell = r.offset(0,12);
      nextCell.setValue(new Date());
    }
  }
}