google-apps-script - 如果单元格等于某个值,如何保护某个范围
问题描述
我正在寻找一种方法来“有条件地保护”我的一些工作表范围。我知道没有脚本是不可能的......所以我需要这个:在打开时,如果 A2="C",保护范围 (A6:A) 不被修改。否则,请不受保护。这应该在具有给定名称的 10 张纸上重复打开(Com1、Com2、...、Com10)
任何帮助,将不胜感激
解决方案
查看 Apps 脚本参考以访问和修改工作表中的受保护范围。您可以构建一个 Protection 对象,其中包含可以编辑给定范围的权限。
Google 表格有简单的触发器,包括一个可以运行的函数,onOpen()
您可以将代码放入其中。用于扩展表格的完整Apps 脚本参考为构建功能以编辑和操作电子表格的结构和数据提供了很好的资源。
您需要使用.getRange('A6:A')
并构建一个调用.protect()
if 方法的条件A2 = 'C'
。
您还可以使用SpreadsheetApp.getActiveSpreadsheet.getSheets()
从电子表格中获取所有工作表并遍历返回的数组,forEach()
以将保护应用于所有工作表。
推荐阅读
- amazon-web-services - 在 AppSync/Aurora 中发生查询/突变时发送推送通知/电子邮件
- swift - 尝试访问 rapidAPI yahoo Finance 通过 swift 给我错误 403
- mysql - Laravel Raw 选择,仅选择 count(*) 作为聚合
- python - 当我创建 django.models 时,如何通过 room_id 进入选项 = max_guest?
- javascript - 如何从异步函数返回扩展的 Promise 实例?
- jquery - 打开多次出现的父子div
- java - 根据 n-gram 的出现频率按升序对 Map 进行排序
- dictionary - 尝试返回 Map 元组时无法理解错误
- python - 将多个视图引用到一个模板 django 的子类列表视图
- html - 为什么我的页面宽度不适合所有分辨率