google-apps-script - var frow = e.rowStart; 返回未定义而不是数字?
问题描述
我正在尝试根据表单提交中事件的 rowStart 生成一个基本密钥。我知道该信息基于 logging JSON.stringify(e)
。
示例数据来自e
:
[19-07-30 20:05:54:656 CDT] {"authMode":{},"values":["7/30/2019 20:05:54","1","test","test","myself@someplace.com"],"namedValues":{"some other random stuff here":["test"],"Makin Bacon":["1"],"some random stuff here":["test"],"Timestamp":["7/30/2019 20:05:54"],"Email Address":["myself@someplace.com"]},"range":{"columnStart":1,"rowStart":37,"rowEnd":37,"columnEnd":5},"source":{},"triggerUid":"1234567"}
但是,当我尝试rowStart
通过这样做从该事件中获取数字时,var frow = e.rowStart;
它似乎在记录器中未定义。
此外,如果我尝试使用格式化数字,我在记录器中什么也得不到,Utilities.formatString("%05d", frow)
但我只在一个数字上测试过它,它工作正常。
有人可以解释为什么我在这里得到一个未定义的变量吗?
function AM2(e) {
//Logger.log(JSON.stringify(e));
var form_name = "Form Responses 1";
var open_name = "OPEN";
var workbook = SpreadsheetApp.getActiveSpreadsheet();
var form_ws = workbook.getSheetByName(form_name);
var open_ws = workbook.getSheetByName(open_name);
var frow = e.rowStart;
var uni_key = "T" + Utilities.formatString("%05d", frow);
Logger.log(uni_key); // not logging anything.
var refSheetId = form_ws.getSheetId().toString();
open_ws.appendRow(['NEW',e.values[1],'','=HYPERLINK("https://docs.google.com/spreadsheets/d/redacted_for_post/edit#gid=' + refSheetId + '&range=D' + frow + '", "' + e.values[2] +'")',e.values[4], uni_key]);
var rng = open_ws.getRange("A1:A").getValues();
var row = rng.filter(String).length;
var rule = SpreadsheetApp.newDataValidation().requireValueInList(['NEW', 'OPEN', 'COMPLETE', 'PENDING'], true).build();
open_ws.getRange(row, 1).setDataValidation(rule);
}
解决方案
推荐阅读
- mysql - 使用带有后缀的自定义 id 生成器时出现休眠错误
- azure-data-factory - Azure 数据工厂数据集
- node.js - 在 Mongoose findOneAndUpdate 中,我怎样才能使我的发布请求工作?
- duplicates - Magento 2 自定义模块管理网格项目重复
- html - 输入值在 jquery 中未更新
- bash - 检查当前用户是否不同于 bash 脚本中的默认用户
- html - DIV 内带有背景的元素,圆角溢出
- flutter - Flutter中自定义下拉小部件如何实现setState
- python - 具有模式功能的块减少(下采样)3D 数组
- python - Discord.py - 我怎样才能只为在线/dnd/空闲成员发送私人消息,而不是根本不发送?