【问题标题】:Google Sheets: show different rows for specific users谷歌表格:为特定用户显示不同的行
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

    • 很遗憾,随着计划的完善,此电子表格中的数据会经常发生变化。我知道您可以编辑表单回复,但他们需要查看最新更改。我们还使用表单作为团队之间的对话(通过 cmets),以节省数百封传递的电子邮件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多