google-apps-script - 在谷歌脚本中发出匹配参数
问题描述
我是脚本新手,并且一直在尝试获取一个脚本,以便在选中复选框时将日期放在相邻的单元格中。这是我试图开始工作的整个脚本的一小部分。我正在尝试编写一个脚本来从另一个工作表值构建一个新工作表,包括命名工作表。
当我在 if 语句中输入工作表名称时,我可以让脚本工作,但是当我尝试通过调用工作表名称和调用字符串来使用参数时,我无法让它们返回真值。
当我记录工作表名称和它们匹配的字符串时。如果我将日志中的以太值复制并粘贴到工作表名称中,它将返回 true。当我输入工作表的名称时,它也会返回 true。
我试图改变类型使用:toString()
但这没有奏效。
我试图使用length
andtypeof
来找到解决方案,从这个页面:
但它们的类型和长度相同。我试图让every
此页面上的功能正常工作,但未能成功运行。
我这样使用它:
[td].every((char,i) => char === nac[i] || console.info(`Unequal character at ${i}`))
并得到这个错误:
10:55:03 AM Error
TypeError: Cannot read property 'every' of undefined
onEdit @ Time Stamp test day.gs:33
代码:
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ac = ss.getActiveSheet();
var as = ss.getActiveSheet().getSheetName();
var d = new Date();
var month = new Array(12);
month[0] = "Jan";
month[1] = "Feb";
month[2] = "Mar";
month[3] = "Apl";
month[4] = "May";
month[5] = "Jun";
month[6] = "Jul";
month[7] = "Aug";
month[8] = "Sep";
month[9] = "Oct";
month[10] = "Nov";
month[11] = "Dec";
var year = d.getFullYear();
var date = d.getDate();
var today = month[d.getMonth()] + " " + date +", " + year
var td = "Test " + today
var nac = ac.getSheetName()
Logger.log(td)
Logger.log(nac)
Logger.log(nac == td)
if(nac == td) {
var cell = ac.getActiveCell()
var col = cell.getColumn()
if(col == 9 && cell.getValue() == true){
Logger.log(123456)
var date = new Date()
var dateCell = cell.offset(0,1)
dateCell.setValue(date)
}//close if
} // Close if
} // Close function
日志
11:26:46 PM Notice Execution started
11:26:47 PM Info Test Dec 27, 2020
11:26:47 PM Info Test Dec 27, 2020
11:26:47 PM Info false
11:26:47 PM Notice Execution completed