Google表格:为特定用户显示不同的行

时间:2016-03-22 17:45:05

标签: javascript google-apps-script google-sheets

在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; 

...等

我的问题是:有没有办法让这些观点特定于观众而非全球?或者我是否注定要遍历每一行,每次需要生成此电子表格时都使用保护功能?

1 个答案:

答案 0 :(得分:0)

为什么不使用附在表格上的表格?它将阻止用户覆盖其他响应,隐藏其他响应。