Javascript GoogleSheets:为特定用户显示不同的行

Javascript GoogleSheets:为特定用户显示不同的行,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,有没有一种方法可以使谷歌电子表格中的某些行可以编辑并可供某个用户访问,而另一个用户无法访问? 我有一个电子表格,大约70人需要访问并将他们的数据输入分配给他们的行中。以前,我只是保护每一行,这样他们就不能编辑任何其他人的行,但理想情况下,我还想隐藏其他人的行。示例电子表格 目前,我尝试使用脚本根据访问电子表格的人的电子邮件地址隐藏和显示某些行。但是,这会影响当前查看电子表格的每个人的视图。我的代码是: function onOpen(e){ var email = (Se

有没有一种方法可以使谷歌电子表格中的某些行可以编辑并可供某个用户访问,而另一个用户无法访问?

我有一个电子表格,大约70人需要访问并将他们的数据输入分配给他们的行中。以前,我只是保护每一行,这样他们就不能编辑任何其他人的行,但理想情况下,我还想隐藏其他人的行。示例电子表格

目前,我尝试使用脚本根据访问电子表格的人的电子邮件地址隐藏和显示某些行。但是,这会影响当前查看电子表格的每个人的视图。我的代码是:

    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; 
……等等


我的问题是:有没有办法使这些视图成为特定于查看器的视图而不是全局视图?还是我注定要浏览每一行,每次需要生成此电子表格时都使用保护功能?

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

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

不幸的是,随着计划的完善,此电子表格上的数据将经常发生变化。我知道您可以编辑表单响应,但他们需要查看最新的更改。我们还使用该表格作为团队之间的对话(通过评论),以节省数百封传递的电子邮件。不幸的是,随着计划的完善,该电子表格上的数据将经常发生变化。我知道您可以编辑表单响应,但他们需要查看最新的更改。我们还使用该表单作为团队之间的对话(通过评论),以节省数百封传递的电子邮件。