我只是想知道为什么clearContent()函数在新的Google电子表格中效果不佳!
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A:L");
var cell = ss.getActiveSelection();
var row = cell.getRow();
var column = cell.getColumn();
var range2 = sheet.getRange(row,column);
var response = Browser.msgBox('Did you confirm it?', Browser.Buttons.YES_NO);
if(response == 'yes'){Browser.msgBox('Thank you!', Browser.Buttons.OK)}
else{range2.clearContent()}
}
当我使用旧的谷歌电子表格时,它有效。 但我正在使用新的Google电子表格。它不起作用。 getRange(' A1:A2')clearContent();是作品。 但getRange(1,2).clearContent();不工作,即使它在旧的谷歌电子表格中工作! 请不要告诉我使用旧的谷歌电子表格。 告诉我怎么做!!
答案 0 :(得分:0)
我甚至没有在ss类中看到.getActiveSelection()
方法。
不要看看你在var range
做了什么。
我们可以使用传递的ss对象e
来获取范围,然后在需要时清除它。
function onEdit(e) {
var range = e.range;
var response = Browser.msgBox('Did you confirm it?', Browser.Buttons.YES_NO);
if ( response == 'yes' ) {
Browser.msgBox('Thank you!', Browser.Buttons.OK);
}
else {
range.clearContent();
}
}
答案 1 :(得分:0)
谢谢你的回答。
但我发现了问题所在。
在新的Google电子表格功能中,clearContent()因为“数据验证”而无法使用!
所以我设置了删除数据验证功能和clearcontent,最后在活动单元格中设置相同的数据验证。
有效!
如果有人遇到同样的问题,请尝试。