我正在尝试清除单元格的内容,然后设置一个新值。我知道你会问“为什么不设置一个新值而不是先清除单元格?”,但我确实需要这样做。这就是我所拥有的
var ss = SpreadsheetApp.getActiveSheet();
var new = ss.getRange("G1");
new.clearContent();
new.setValue('|');
问题是清理没有发生,我尝试了很多东西,但没有一个工作:S。有人知道我做错了什么吗?提前谢谢!
答案 0 :(得分:2)
您不能new
使用cell
。reserved。使用像getActiveSheet()
这样的其他内容。此外,使用function test() {
var ss = SpreadsheetApp.getActive().getSheetByName("SHEET NAME");
var cell = ss.getRange("G1");
cell.clearContent();
cell.setValue('|');
}
是危险的,因为它要求您实际选择该工作表。因此,如果您想修改" Sheet1"中的某些内容,但光标位于" Sheet2"中的某个单元格上,那么您将获得意外结果。相反,请明确指定要使用的工作表。
SpreadsheetApp.flush()
要证明此 首先清除单元格,您可以将Utilities.sleep()
与flush()
结合使用。您需要使用flush()
因为," Spreadsheet operations are sometimes bundled together to improve performance"。调用function test() {
var ss = SpreadsheetApp.getActive().getSheetByName("SHEET NAME");
var cell = ss.getRange("G1");
cell.clearContent();
SpreadsheetApp.flush();
Utilities.sleep(10000); // You have 10 seconds to check that the cell has cleared
cell.setValue('|');
}
将确保在继续执行脚本之前执行所有这些操作。
var colors=['.green', '.red', '.yellow','.green', '.red', '.yellow'];
point: {
events: {
click: function (event) {
$('.layout').css('display', 'none');
$(colors[event.point.index]).css('display', 'block');
}
}
}