首页 > 解决方案 > 如果单元格等于某个值,如何保护某个范围

问题描述

我正在寻找一种方法来“有条件地保护”我的一些工作表范围。我知道没有脚本是不可能的......所以我需要这个:在打开时,如果 A2="C",保护范围 (A6:A) 不被修改。否则,请不受保护。这应该在具有给定名称的 10 张纸上重复打开(Com1、Com2、...、Com10)

任何帮助,将不胜感激

标签: google-apps-scriptgoogle-sheets

解决方案


查看 Apps 脚本参考以访问和修改工作表中的受保护范围。您可以构建一个 Protection 对象,其中包含可以编辑给定范围的权限。

Google 表格有简单的触发器,包括一个可以运行的函数,onOpen()您可以将代码放入其中。用于扩展表格的完整Apps 脚本参考为构建功能以编辑和操作电子表格的结构和数据提供了很好的资源。

您需要使用.getRange('A6:A')并构建一个调用.protect()if 方法的条件A2 = 'C'

您还可以使用SpreadsheetApp.getActiveSpreadsheet.getSheets()从电子表格中获取所有工作表并遍历返回的数组,forEach()以将保护应用于所有工作表。


推荐阅读