当我在editedCellValue 中放置一个带空格的值时,以下代码不起作用
function onEdit(e) {
var editedCellRange =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test").getActiveRange();
var editedCellValue =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test").getActiveRange().getValue;
if (RegExp(editedCellValue).test("\s")==true){editedCellRange.setValue("contains space")}
else
{editedCellRange.setValue("ELSE IF")}
}
请帮助说明为什么这不起作用。谢谢。
最佳答案
retrofit 要点:
test
,请修改为(/\s/g).test(editedCellValue)
. includes
喜欢 editedCellValue.includes(" ")
.还有,indexOf
可以使用。 var editedCellValue = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test").getActiveRange().getValue;
不检索该值,因为 getValue
没有运行。请加()
喜欢 getValue()
. SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test")
. 当以上几点反射(reflect)到你的脚本中时,它变成如下。
修改后的脚本:
function onEdit(e) {
var range = e.range;
if (range.getSheet().getSheetName().toLowerCase() != "test") return;
var editedCellValue = range.getValue();
if ((/\s/g).test(editedCellValue)) { // or if (editedCellValue.includes(" ")) {
range.setValue("contains space")
} else {
range.setValue("ELSE IF")
}
}
onEdit
由 OnEdit 触发器自动运行。而且,在您的脚本中,编辑过的单元格会被覆盖。请注意这一点。 笔记:
var range = e.range;
if (range.getSheet().getSheetName().toLowerCase() != "test") return;
var range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test").getActiveRange();
引用:
关于javascript - Google App Script 检查编辑的单元格是否包含空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66415891/