google-apps-script - 编辑时未触发 Google Apps 脚本
问题描述
我编写了一个脚本来对表格列中的条目进行排序和提取,然后推送到 Google Form ddl。这是功能性的,但是当数据中发生任何一个事件时,我在应用程序脚本 ide 中设置的触发器以在编辑和更改时运行该函数什么都不做。唯一有效的触发器是表单提交,但这不会将提交到表单的新条目推送到下一次提交。该脚本将立即运行,并且不会包含填充表单的数据,因为由另一个表单(用于数据验证)馈送,该表单数据馈送自表单数据(此传输需要几分钟)。我将在下面分享我的代码以供参考。感谢您的任何帮助,您可以提供!
function popFormList() {
Utilities.sleep(5000);
var sheet = SpreadsheetApp.openById('ID').getSheetByName("SHEET1");
var form = FormApp.openById('ID');
siteSort(sheet);
var siteValues = sheet.getRange(2, 3, sheet.getLastRow()-1)
.getValues()
.filter(function(siteElement, sitePos, siteArr) {
return siteArr.indexOf(siteElement) === sitePos;
});
var siteItem = form.getItems(FormApp.ItemType.LIST)
.filter(function(siteItem) {
return siteItem.getTitle() === "Title";
})[0].asListItem();
siteItem.setChoiceValues(siteValues);
endSort(sheet);
}
function siteSort(e) {
e.getRange(1, 1, e.getMaxRows(), e.getMaxColumns()).createFilter();
e.getRange('C1').activate();
e.getFilter().sort(3, true);
}
function endSort(e) {
e.getRange('B1').activate();
e.getFilter().sort(2, true);
e.getFilter().remove();
}
解决方案
推荐阅读
- kotlin - Kotlin 字符串存在但不能使用几乎所有字符串功能
- matlab - 如何以矩阵形式实现 B-Spline?
- javascript - 如何用数字数组过滤对象数组
- conda - 如何在使用 pypy3 安装软件包后导出 conda env,以与蛇形制作一起使用
- python - 检查一列中的值,取相邻的值并应用函数
- python - Pygame当你按下键移动图像到位置
- python - 如何让大量按钮输出不同的东西?Python Tkinter
- linux - ZSH+GREP+正则表达式。为什么这个片段充当 rm -r /
- reactjs - 在 Jest 中使用 Error() 而不抛出异常
- python - python Pathlib,如何删除前导目录以获取相对路径?