Пытаться скрыть листы для всех, кроме администраторов - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь скрыть листы от всех средств просмотра с кодом, не скрывая его с параметрами по умолчанию, я пробовал следующий код, но он не работает. Кто-нибудь знает решение?

function onOpen() {
  var admin = ['owner@gmail.com']

   if (admin.indexOf(Session.getEffectiveUser().getEmail()) >= 0) {
   SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2').showSheet()
   }
    else {SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Certs').hideSheet()
    }
 }

1 Ответ

1 голос
/ 30 апреля 2020

Ваш подход проблематичен c если электронная таблица открыта одновременно администратору и не администратору

Электронная таблица Google не является котом Шредингера, ее листы не могут быть показаны и скрыты на в то же время.

Я предлагаю вам другой подход:

  • Создайте вторую электронную таблицу, включающую только те листы, которые могут видеть не администраторы.
  • Вы можете синхронизировать c таблицы admin и non-admin, чтобы не скрытые листы содержали одинаковую информацию в обоих.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...