这个问题是关于谷歌电子表格的。我有一个与多人共享的电子表格。我也在使用脚本来更新工作表内容。我的问题是当我运行脚本时,有没有办法保护工作表免受他人编辑。脚本完成后,可以再次将编辑权限授予用户吗?
问问题
3507 次
1 回答
0
我只是回复,因为我看到你还没有其他人,而且我已经修补了这个问题但没有成功。尽管在我的情况下,目标有所不同,因为我需要用户在运行菜单驱动的脚本时执行我的代码。由于您只需要自己修改保护,那么您可能会发现这对您有用。
无论如何,我可以预见到用户在运行代码时可能处于中间编辑状态的情况,这可能会让他们感到沮丧!您可能想要做的是掌握用户对象和相关方法以管理它们。现在我看不出如果不把他们踢出去你会怎么做(同样的结果),但也许其他人会提出一些想法。查看电子表格类的以下内容:
- getEditors / removeEditor / addEditor
- 获取查看器/添加查看器
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;
}
于 2013-06-17T18:38:24.560 回答