提问人:GSerraG 提问时间:11/17/2023 最后编辑:TheMasterGSerraG 更新时间:11/18/2023 访问量:56
读取布尔值时,e.values 和 e.oldValues 的类型是什么?
What is the type of e.values and e.oldValues, when reading boolean values?
问:
类型明显不同。我们是否知道布尔类型的触发器的事件对象中返回的确切类型?e.values
答:
1赞
GSerraG
11/18/2023
#1
通过他的坐标读取单元格,它返回正确的值,如您在另一个表中看到的那样。细胞直接读取的值
我通过单击复选框并触发 onEdit 函数来获得此值。读取的值不是布尔值。 在表中,您可以看到读取的值为 TRUE/FALSE 和字符串类型。 通过他的坐标读取单元格,它返回正确的值,如您在另一个表中看到的那样。
您可以使用此代码进行测试
function onEdit(e) {
var eA1 = e.range.getA1Notation();
var ui = SpreadsheetApp.getUi();
// e.value and his typeof
ui.alert("(" + eA1 + ") e.value=" + e.value);
ui.alert("(" + eA1 + ") typeof e.value=" + typeof e.value);
// eValue and his typeof
var eValue=e.value;
ui.alert("reading of eValue......");
ui.alert("(" + eA1 + ") eValue=" + eValue);
ui.alert("(" + eA1 + ") typeof eValue=" + typeof eValue);
// getting de value of (e)cell
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var eTargetCell = sheet.getRange(eA1);
var eCellValue = eTargetCell.getValue();
// eCellValue and his typeof
ui.alert("direct reading of cell.......");
ui.alert("(" + eA1 + ") eValue=" + eCellValue);
ui.alert("(" + eA1 + ") typeof eValue=" + typeof eCellValue);
}
您可以轻松地创建一个函数来获取“e”单元格的布尔值。要获取 e.oldValue 的正确值...如果需要,您可以通过以下方式轻松地在原始单元格中恢复它
e.range.setValue(eOldValue);
或在另一个单元格中(此点未测试)
评论
0赞
TheMaster
11/18/2023
感谢您对社区的贡献。我在你的原始帖子中添加了图片。根据需要随意编辑。
评论