是否有人知道是否可以为谷歌电子表格制作谷歌应用程序脚本,如果出现特定情况,它会保护特定单元格? FX。如果X出现在“A1”中,那么“A2”应该受到保护吗?
答案 0 :(得分:1)
不是。我不相信这是细胞保护的工作方式。单元格是手动保护的,或根本不受保护。
没有启用该功能的单元格功能或脚本对象。
答案 1 :(得分:1)
还没有用于管理细胞保护的API。这feature request要求这样做。你可能希望明星来跟踪它的更新和投票类型。
答案 2 :(得分:0)
我知道这是一个老问题而且仍然是 - 谷歌"胎儿要求" (由Henrique Abreu发布)迄今为止没有任何进展(2014年底)
我的预感:当要求用户编辑之后被锁定的单元格(按标准或其他类型)时,此类功能将成为Google表单(http://www.google.com/forms/about)的解决方法逻辑)
我最近在我的工作场所遇到类似情况,我的解决方案非常简单 - 制作表格并与相关用户分享。表单字段将使用户能够填写他们应该锁定的数据。该表格将最终生成一张信息(每次填写表格时在线更新)。使用" IMPORTRANGE "来自另一个工作表的(https://support.google.com/docs/answer/3093340?hl=en)将导致查询"锁定"相关表格中的信息。由于数据在另一张纸内并且表示为公式 - 它无法编辑(至少不能作为数据)
我真的在考虑一个真正的解决方法,它实际上可以锁定"一个单元格(通过脚本将其值替换为原始单元格)..如果有这样的请求
答案 3 :(得分:0)
“功能请求”referred by Henrique G. Abreu已修复。参考comment #165
今天,我们已经启动了以编程方式创建和创建的功能 使用Apps脚本操纵受保护的范围和受保护的工作表。
使用Spreadsheet服务中的新Protection类,脚本 可以触及范围或表单保护的各个方面,就像在 新UI。 (较旧的PageProtection类,更有限 功能,将被弃用,但如果您需要,将坚持使用 使用旧电子表格。新的Protection类仅适用 到较新版本的Sheets。)
您可以在此处找到更多详细信息:
http://googledevelopers.blogspot.com/2015/02/control-protected-ranges-and-sheets-in.html
https://developers.google.com/apps-script/releases/#february_2015
https://developers.google.com/apps-script/reference/spreadsheet/protection
答案 4 :(得分:-2)
我有一个解决方法,代码如下
function protect_named_range(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var target_sheet = ss.getSheetByName('Sheet1');//change "sheet1" for the sheet your range is in
var array_range1 = target_sheet.getRange("A1:A1");
var array_range2 = target_sheet.getRange("A2:A2");
var range_test = array_range1.getValue();// or getFormula or what ever you want to test
if(range_test == "correct answer"){ //if cell A2 = "correct answer" then cell B2 becomes a named range called "named_range"
ss.setNamedRange("named_range", array_range2);
SpreadsheetApp.setActiveSheet(target_sheet);
var sheet = SpreadsheetApp.getActiveSheet();
var permissions = sheet.getSheetProtection();
permissions.setProtected(true);
target_sheet.setSheetProtection(permissions);
}
}
抱歉,我已经离开了一段时间。这是我将使用的基本代码,但如果单元格A2 =“正确答案,它实际上并不保护范围”B2“。如果单元格A2 =”正确答案“,它保护名为”sheet1“的工作表,以便只有电子表格所有者可以在工作表上编辑任何内容。
我知道这不是你所追求的,但我希望它可以提供帮助。