要解决这个问题,可以使用以下代码示例:
function addTimestamp(sheetName) {
var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
var data = sheet.getDataRange().getValues();
var timeCol = 2;//时间戳要添加的列,这里假设为第二列
for (var i = 0; i < data.length; i++) {
if (data[i][timeCol - 1] === '') {
sheet.getRange(i + 1, timeCol).setValue(new Date()).setNumberFormat("yyyy-MM-dd HH:mm:ss");//设置时间戳格式
}
}
}
这个函数会遍历数据区域的每一行。如果该行中的时间戳列为空,那么它会在该行的时间戳列(假设为第2列)中设置当前日期和时间,并使用给定的格式。这样,如果某些行中没有时间戳,它们将被更新,从而解决了“AppsScript在某些行中无法生成时间戳”的问题。