隐藏某些用户在Google电子表格中的标签/表格

时间:2018-05-04 09:56:57

标签: google-apps-script google-sheets

我知道谷歌电子表格中的保护表/范围功能,但我想要做的是完全隐藏某些用户的表格。我已经通过下面的代码找到了答案。我可以在打开电子表格时自动隐藏某些标签/工作表到指定的用户,但这并不能阻止他们再次取消隐藏标签/工作表。是否有任何建议限制他们取消隐藏这些标签?

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();

    }
}

1 个答案:

答案 0 :(得分:0)

观看者无法对Google表格电子表格进行任何更改。为了防止观看者制作副本以访问隐藏的纸张和行,阻止电子表格打印/复制/下载。有关详细信息,请参阅Stop, limit, or change sharing

值得注意的是,隐藏或显示工作表会使所有正在查看电子表格的用户都有效。