预期的行为::清除所有单元格注释和复选框(将复选框从TRUE转换为FALSE)
实际行为:清除所有单元格注释,复选框和超链接。它留下了格式化为看起来像超链接的文本,但没有实际的链接。
之前:
之后(仅保留文本和格式-链接消失了)
function ResetCheckBoxesAndClearNotesOnDefinedSheets(){
var tabs = [
'Checkout',
'Reception'
];
//LOOP THROUGH TABS LISTED ABOVE
var ss=SpreadsheetApp.getActiveSpreadsheet();
for (var k = 0; k < tabs.length; k++) {
var sheet = ss.getSheetByName(tabs[k]);
//CLEAR NOTES ON TABS LISTED ABOVE
sheet.clearNotes();
// CLEAR CHECKBOXES ON TABS LISTED ABOVE
var dataRange = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
var values = dataRange.getValues();
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
if (values[i][j] === true) {
values[i][j] = false; // Modified
}
}
}
dataRange.setValues(values);
}//end of sheets loop.
}
如何停止删除超链接?
答案 0 :(得分:0)
使用链接中的脚本进行查找。谢谢!
function ResetCheckboxesOnSheet() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var rg=sh.getDataRange();
var vA=rg.getDataValidations();
var cbA=[];
for(var i=0;i<vA.length;i++) {
for(var j=0;j<vA[i].length;j++) {
var rule=vA[i][j];
if(rule!=null) {
var criteria = rule.getCriteriaType();
if(criteria == SpreadsheetApp.DataValidationCriteria.CHECKBOX) {
sh.getRange(i+1,j+1).setValue(false)
}
}
}
}
}