如何解决Google表格脚本未完全执行
我正在使用Google表单触发此脚本。
当我使用“播放”按钮运行脚本时,效果很好。
当我让onsubmit触发器运行它时,该复选框会很好地填充,但setValue日期却不会。
我也尝试使用setFormula
,但得到的结果相同。
function AddCheckBox_toSchoolLunchForm(F) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 1")
var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
var range = sheet.getRange(sheet.getLastRow(),8);
range.clearContent();
range.setDataValidation(rule);
var FormulaCell = sheet.getRange(sheet.getLastRow(),10);
FormulaCell.setFormula("=DATEVALUE(A" + (sheet.getLastRow()) + ")");
}
最终目标是,每次提交表单时,让J列填充A列中的镜头格式化日期。
我需要这种格式才能在另一张纸上运行countIfs。
另一种选择是以某种方式将格式标签嵌入到CountIfs命令中,以便它们匹配。
=COUNTIFS('Form Responses 1'!J:J,A2,'Form Responses 1'!D:D,B2)
解决方法
更新后的答案
如果在没有触发器的情况下按预期方式在触发器上运行函数时遇到问题,请检查以下内容:
-
对于繁重的文件/表单数据,使用新的表单数据填充工作表可能会有所延迟。
-
为避免冲突,请在获取
sheet.getLastRow()
或访问工作表中的数据之前,先给电子表格一些时间来填充新行。 -
您可以轻松点与Utilities.sleep()。
-
-
检查触发器是否已正确安装。为此检查
- 触发类型正确
- 触发器已绑定到正确的功能
- 重命名功能时,通过创建新触发器来避免冲突。
-
检查问题是否不是由于触发restrictions
引起的 -
这是使用简单触发器时的常见错误来源。
-
检查在其授权下正在运行触发器的帐户是否有权编辑工作表/范围。这对于检查触发器所有者是否是与手动运行脚本的人不同的人很重要。
-
请注意,对于
setFormula()
,没有必要将=
合并到公式中 -
请注意,
DATEVALUE()
仅在将单元格正确格式化为日期时才返回预期结果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。