我创建了一个电子表格,其中所有工作表都受到编辑保护,除了单个单元格外,用户应输入一个搜索值,用于过滤工作表。我与启用了编辑功能的电子表格共享,但也允许用户创建新的工作表,我希望这样做。
也许我没有使用最佳方式来实现我想要的东西,所以欢迎提出建议。我看到有人建议在类似的用例中使用表单,但我不知道如何将他们的调查功能应用到我的需求中。
EDIt:这是共享电子表格:https://docs.google.com/spreadsheets/d/1C4mrBWJxPLrFQ4bp82UA2ICOr1e6ER47wF7YuElyoZg/edit?usp=sharing
答案 0 :(得分:1)
您可以使用脚本删除每个新创建的(不是所有者创建的)工作表。这是此类脚本的示例:
// Deletes any tab named "SheetN" where N is a number
function DeleteNewSheets() {
var newSheetName = /^Sheet[\d]+$/
var ssdoc = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ssdoc.getSheets();
// is the change made by the owner ?
if (Session.getActiveUser().getEmail() == ssdoc.getOwner().getEmail()) {
return;
}
// if not the owner, delete all unauthorised sheets
for (var i = 0; i < sheets.length; i++) {
if (newSheetName.test(sheets[i].getName())) {
ssdoc.deleteSheet(sheets[i])
}
}
}
然后设置发生更改(如创建工作表)时运行此功能DeleteNewSheets
的触发器。
注意:如果英语不是文档语言,则应更改正则表达式/^Sheet[\d]+$/
,例如对于法语,则应更改为/^Feuille [\d]+$/
。
答案 1 :(得分:0)
没有看到您现有的电子表格,Seedmanc,Google&#34;过滤视图&#34; &#34;数据&#34;下的选项工作表的菜单可能会有所帮助,因为它允许所有者/编辑者创建和保存仅供查看用户访问的过滤器。
此外,仅供查看的用户可以创建独特的过滤视图。一旦他们进入过滤器范围,菜单箭头就会出现......
...允许他们按条件(包括自定义公式!)或按值进行过滤。因此,根据您的过滤器的详细程度以及您的用户对电子表格的了解程度,过滤器视图可以提供更灵活的过滤器,同时仍可保护您的工作表。
(了解有关Google表格的更多信息filter views here。)