我的“隐藏表格”脚本中有错误吗?

时间:2019-10-16 15:12:04

标签: google-apps-script

仅当我是管理员和用户时,这才起作用并隐藏工作表“财务”,我希望管理员有权访问工作表,而非管理员则希望将其隐藏。我不能完全确定是否可以使用一个客户脚本来实现,但是如果可以,请告诉我我做错了什么。

这是我在过去3周中一直从事的工作,我是google脚本的新手,所以将不胜感激,但我绝不是专家,但从理论上讲,这是可行的。

function onOpen() {
  var adminUsers = ['maiceo@******.com','nick@*****.com','ash@******.com','justinp@*****.com'];
  var Users = ['lorit@*****.com','zachp@******.com','devonc@******.com','rileev@*****.com','maiceoh@*******.com'];

  if (adminUsers.indexOf(Session.getEffectiveUser().getEmail()) >= 0) {
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Finances').showSheet()
  }

  if (Users.indexOf(Session.getEffectiveUser().getEmail()) >= 0) {
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Finances').hideSheet()
  }
}

我希望admiUsers具有查看功能,而用户则没有,但不是全部就是全部。我希望它在您打开文档时像钥匙卡授权一样工作。

1 个答案:

答案 0 :(得分:0)

答案:

要让用户运行触发器,他们需要对工作表具有编辑权限。

更多信息:

根据Google Documentation,只有具有编辑权限的用户才能运行绑定到Google表格的触发器:

  

onOpen(e)在用户打开用户有权编辑的电子表格,文档,演示文稿或表单时运行。

您需要要求所有用户具有编辑权限才能执行此操作。

参考文献: