Expand/Collapse 受保护工作表中的列
Expand/Collapse Columns in Protected Sheets
我正在尝试在 google sheet 中创建展开和折叠按钮,因为 google 不允许在受保护的 sheet 中使用该功能。
在受保护的 sheet 中,我有这个崩溃功能:
function Collapse() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var range = sheet.getRange('D1:M1');
sheet.setColumnGroupControlPosition(SpreadsheetApp.GroupControlTogglePosition.BEFORE);
var user = Session.getActiveUser();
sheet.protect().addEditor(user)
var group = sheet.getColumnGroup(4, 1);
group.collapse();
}
它仍然不允许其他人 expand/collapse 列。
我可以做些什么来允许用户访问此功能?
最好的方法是使用复选框和已安装的 onEdit() 触发器,以允许任何有权显示/隐藏范围的人。
function Collapse(e) {
var sheet = e.source.getActiveSheet();
var sheetName = sheet.getSheetName();
var range = e.range.getA1Notation();
if(range == "A1" && sheetName == "Sheet1"){
var value = sheet.getRange(range).getValue();
if(value){
sheet.hideColumns(2, 4);
sheet.hideRows(2,4);
} else if (!value) {
sheet.showColumns(2, 4);
sheet.showRows(2,4);
}
}
}
我正在尝试在 google sheet 中创建展开和折叠按钮,因为 google 不允许在受保护的 sheet 中使用该功能。
在受保护的 sheet 中,我有这个崩溃功能:
function Collapse() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var range = sheet.getRange('D1:M1');
sheet.setColumnGroupControlPosition(SpreadsheetApp.GroupControlTogglePosition.BEFORE);
var user = Session.getActiveUser();
sheet.protect().addEditor(user)
var group = sheet.getColumnGroup(4, 1);
group.collapse();
}
它仍然不允许其他人 expand/collapse 列。
我可以做些什么来允许用户访问此功能?
最好的方法是使用复选框和已安装的 onEdit() 触发器,以允许任何有权显示/隐藏范围的人。
function Collapse(e) {
var sheet = e.source.getActiveSheet();
var sheetName = sheet.getSheetName();
var range = e.range.getA1Notation();
if(range == "A1" && sheetName == "Sheet1"){
var value = sheet.getRange(range).getValue();
if(value){
sheet.hideColumns(2, 4);
sheet.hideRows(2,4);
} else if (!value) {
sheet.showColumns(2, 4);
sheet.showRows(2,4);
}
}
}