【问题标题】:How to set sheet protected during google script running如何在谷歌脚本运行期间设置工作表保护
【发布时间】:2013-05-20 04:33:35
【问题描述】:

这个问题是关于 Google 电子表格的。我有一个与多人共享的电子表格。我也在使用脚本来更新工作表内容。 我的问题是当我运行脚本时,有没有办法保护工作表免受他人编辑。脚本完成后,可以再次将编辑权限授予用户吗?

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    我只是回复,因为我看到你还没有任何其他人,而且我已经修补了这个问题但没有成功。尽管在我的情况下,目标有所不同,因为我需要用户在运行菜单驱动的脚本时执行我的代码。由于您只需要自己修改保护,那么您可能会发现这对您有用。

    在任何情况下,我都可以预见到用户可能会在您运行代码时处于中间编辑状态,这可能会让他们感到沮丧!您可能想要做的是掌握用户对象和相关方法以管理它们。现在我看不出如果不把他们踢出去你会怎么做(同样的结果),但也许其他人会提出一些想法。查看电子表格类的以下内容:

    • getEditors / removeEditor / addEditor
    • getViewers / addViewers

    https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet

    以下是我制作的一个功能,它对我(所有者)有用,但对用户无效 - 希望对您有所帮助:

    //Target = string name of sheet to change permissions for
    //ProtectOn = boolean: TRUE = turn on protection
    //function returns boolean representing previous permissions setting (for loops/verification)
    
    function SheetProtectionSet(Target, ProtectOn) {
      var g_wkbActive = SpreadsheetApp.getActiveSpreadsheet();
      var wksTarget = g_wkbActive.getSheetByName(Target);
      var permissions = wksTarget.getSheetProtection();
      var cur_protection = permissions.isProtected();
    
      permissions.setProtected(ProtectOn);
      wksTarget.setSheetProtection(permissions);
      return cur_protection;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多