我很难在某些条件下使用时间戳。 一旦满足条件,我需要它在两个不同的列上给我一个时间戳。当第二列被填写时,第一个时间戳应该出现(这部分实际上正在工作)。 仅当从下拉列表中选择单词“ 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"));
}
}
}
如果有人可以帮助我,请告诉我。
答案 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(" ");
}
请注意,此脚本在“编辑”触发器上运行。如果从脚本编辑器运行,请勿尝试运行。而是尝试编辑指定的列,看看是否显示时间戳。