时间戳出现问题

时间:2018-11-23 18:01:18

标签: google-apps-script google-sheets triggers timestamp

我很难在某些条件下使用时间戳。 一旦满足条件,我需要它在两个不同的列上给我一个时间戳。当第二列被填写时,第一个时间戳应该出现(这部分实际上正在工作)。 仅当从下拉列表中选择单词“ COMPLETE”时,第二个时间戳才应出现在第7列上,这不会发生,因为无论从列表中选择什么,时间戳都会出现,我不确定问题出在了。

这是我一直在使用的代码:

function onEdit() {
  var s = SpreadsheetApp.getActiveSheet();
  if( s.getName() == "Notes" ) { //checks that we're on the correct sheet
    var r = s.getActiveCell();

    if( r.getColumn() == 2 ) { //checks the column 
      var nextCell = r.offset(0, 1);
      //if( nextCell.getValue() !== '' ) //is empty?
      nextCell.setValue(Utilities.formatDate(new Date(), "GMT-5", "MM-dd-yyy"));
    }

    if( r.getColumn() == 6 ) { //checks the column
      var nextCell = r.offset(0, 1);
      //if( nextCell.getValue() !== 'COMPLETE') 
      nextCell.setValue(Utilities.formatDate(new Date(), "GMT-5", "MM-dd-yyy HH:mm:ss"));

    }
  }
}

如果有人可以帮助我,请告诉我。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

console.log(toWeirdCase('harry enjoys reading books'))
//expected output: 'HaRrY EnJoYs ReAdInG BoOkS'
// actual output: 'HaRrY EnJoYs ReAdInG BookS'

console.log(toWeirdCase('gooooooogle search in vain'));
//expected output: 'GoOoOoOoGlE SeArCh In VaIn'
// actual output: GoooooooGlE SeArCh In VaIn

function toWeirdCase(string) {
    string = string.split(" ");
    for (let i = 0; i < string.length; i++) {
        for (let x = 0; x < string[i].length; x++) {
            if (string[i].indexOf(string[i].charAt(x)) % 2 == 0) {
                string[i] = string[i].replace(string[i].charAt(x), string[i].charAt(x).toUpperCase());
            }
        }
    }
    return string.join(" ");
}

请注意,此脚本在“编辑”触发器上运行。如果从脚本编辑器运行,请勿尝试运行。而是尝试编辑指定的列,看看是否显示时间戳。