【发布时间】:2016-03-22 17:45:05
【问题描述】:
有没有办法让 Google 电子表格中的某些行对特定用户可编辑和访问,而其他用户无法访问?
我有一个电子表格,需要 70 人左右访问并将他们的数据输入到分配给他们的行中。以前,我只是保护每一行,这样他们就不能编辑其他人的行,但理想情况下我也想隐藏其他人的行。电子表格示例here。
目前,我尝试使用脚本来隐藏和显示某些行,具体取决于访问电子表格的人的电子邮件地址。但是,这会影响当前查看电子表格的每个人的视图。我的代码是:
function onOpen(e){
var email = (Session.getEffectiveUser().getEmail());
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
switch (email){
case 'user1@email.com':
sheet.hideRows(7, sheet.getMaxRows()-6);
break;
case 'user2@email.com':
sheet.hideRows(2, 5);
sheet.showRows(7, 5);
sheet.hideRows(12, sheet.getMaxRows()-11);
break;
case 'user3@email.com':
sheet.hideRows(2, 10);
sheet.showRows(12, 5);
sheet.hideRows(17, sheet.getMaxRows()-16);
break;
...等等。
我的问题是:有没有办法让这些视图特定于查看者而不是全局?还是我注定要遍历每一行,每次需要生成此电子表格时都使用保护功能?
【问题讨论】:
标签: javascript google-apps-script google-sheets