google-apps-script - 将取消隐藏选项卡限制为某些用户
问题描述
我知道谷歌电子表格中的保护工作表/范围功能,但我想做的是对某些用户完全隐藏工作表。我用下面的代码找到了答案。我可以在打开电子表格时自动向指定用户隐藏某些选项卡/工作表,但这并不能阻止他们再次取消隐藏选项卡/工作表。有什么建议可以限制他们取消隐藏这些标签吗?
function onOpen() {
var adminUsers = ['sample@google.com'];
var Users = ['sample@gmail.com'];
if (adminUsers.indexOf(Session.getEffectiveUser().getEmail()) >= 0) {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('SETTINGS').showSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('INSTRUCTION').showSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('EMPLOYEES').showSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('LEAVE').showSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('TEAM DASHBOARD').showSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('EMS').showSheet();
}
if (Users.indexOf(Session.getEffectiveUser().getEmail()) >= 0) {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('SETTINGS').hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('EMPLOYEES').hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('LEAVE').hideSheet();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('EMS').hideSheet();
}
}
解决方案
查看者无法对 Google 表格电子表格进行任何更改。为了防止查看者复制以访问隐藏的工作表和行,请阻止要打印/复制/下载的电子表格。有关详细信息,请参阅停止、限制或更改共享。
值得注意的是,隐藏或显示工作表将使所有查看电子表格的用户都有效。