javascript - Google Sheets,以所有者身份运行函数

标签 javascript triggers google-sheets

好吧,我对 SO 很陌生,对 JS 和 Sheets 也相当陌生。我正在写一张工作表,该工作需要 3 个类次,每个类次有一个首页和 4 张表。除了类次时间、AM、PM 和 NT 之外,每个类次的每个相应工作表都是相同的。
不得不与一些手指粗的人打交道,我认为最好保护可以填写的表格和开放范围。启动时仅显示首页。我提供了一个带有开始和结束类次选项的菜单。运行“开始类次”会显示相应的类次页面,然后运行“结束类次”则会隐藏它们。
问题是我不运行此显示/隐藏,并且由于工作表受到保护,用户也无法运行。是否可以让 JS 的一部分以所有者权限运行,而不管谁通过菜单调用它?
可能可以通过可安装的触发器来实现,但我还没有从菜单项中找到如何实现。

最佳答案

我尝试创建一个更改单元格值的菜单项。不幸的是它不会触发 onEdit 事件处理程序。所以,恐怕您可以通过菜单项来完成此操作。解决方法是将验证规则添加到单元格以创建下拉菜单。

<小时/>

对于那些对这些步骤感兴趣的人:

一、工作流程:

  • 电子表格有一个名为“Shift”的单元格
  • 用户可以将该值更改为“Start”、“End”或“”
  • 设置适当的 protection当“Shift”的值改变时

步骤如下:

  1. 创建一个函数,例如 unprotect(),该函数检查“Shift”是否为事件单元格并设置适当的保护
  2. 在项目脚本编辑器中,转到资源> 当前项目的触发器
  3. 创建以下规则:运行取消保护 从电子表格 编辑时
  4. 因为 unprotect()installed trigger ,它将在所有者权限下运行。

关于javascript - Google Sheets,以所有者身份运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35215026/

相关文章:

javascript - 新组件加载 Angular 后焦点不会改变

javascript - 如何仅在从 'select class' 标签中选择选项后才显示输入选项?

wpf - 触发器中的 AdornedElement 属性

google-apps-script - 如何自动将Google Doc(Google Drive)表单数据传输到Google文档

google-sheets - 根据数字和字母将一列分成两列

JavaScript - 对象的方法命名一次和命名两次之间的区别

javascript - 在 Firestore 中设置/添加操作后返回文档数据

c# - WPF ListBoxItem IsMouseOver

jQuery 触发点击第一个子元素

javascript - 选择我从 Google Sheet 获得的 JavaScript 数组中的最大数字