google-sheets - 谷歌脚本:没有活动工作表时的 getActiveSheet()?
问题描述
我已经为此工作了几天,但我找不到这个问题的任何答案。 我没有程序员背景,所以对你们中的一些人来说这可能是一个简单的问题。
问题: 我有 5 个 Google 表单,它们在 1 个主 Google 工作表中填写 5 个不同的工作表。
-->填写Google Form 1时, sheet1 有新行
-->填写Google Form 2时, sheet2 有新行
-->填写Google Form 3时,有新行sheet3
-->填写Google Form 4时,sheet4换
行
-->填写Google Form 5时,sheet5换行
现在,当向每张纸添加新行时,我需要能够运行一些脚本(不同的脚本)。
这个想法是:
--> 当向 sheet1 添加新行时,执行此操作。
--> 当向 sheet2 添加新行时,执行此操作。.
.
.
我尝试了这样的事情(见下文)。但它不会返回任何内容,因为当填写谷歌表单并自己向谷歌表单添加新行时没有“Activesheet”。
function onChange(event) {
var s = event.source.getActiveSheet();
var sName = s.getName();
Browser.msgBox(sName);
}
问题:
换句话说,您是否知道如何获取由 google 表单编辑的工作表,以便在每张工作表被修改时运行特定脚本?
解决方案
onChange
表单提交时触发器不会触发,请改用FormSubmit
触发器
相关的事件对象在此处指定。
事件对象source
不可用,但您可以将事件对象range
与getSheet()结合使用。
样本:
function onChange(event) {
var s = event.range.getSheet();
var sName = s.getName();
Browser.msgBox(sName);
}
推荐阅读
- ffmpeg - FFMpeg - 如何在帧的区域上应用场景选择过滤器
- node.js - 在 express/mongo API 的 mongo 模型中创建列表
- python - Turtle bgpic() 不显示图像并给我这些错误消息......?
- cuda - C 中的 CUDA:如何使用 cudaMemcpyAsync 修复错误 11
- typo3 - TYPO3 流体 - 退出 for 循环
- angular - 如何用 agm-core 绘制 agm-polygon?
- windows - 如果在文本 txt 文件的列表中找不到文件,则 CMD 批处理文件删除文件
- php - 将碳从字符串保存到 MySQL
- sql - 来自应用程序的“必须声明标量变量@ClaimNum”错误
- django - 设置 django-oauth-toolkit 后无法访问管理面板