0
我帮助维护一个Google电子表格,通过HTML表单添加新数据。getRange/setValues并不总是工作
当涉及添加新数据时,新数据的插入点取决于其中一个表单字段(应用程序接收日期)。
的脚本发现其中在片材中的数据应当被插入并做三两件事:
- 插入空白行在正确的位置
- 份数上述(所以公式和条件格式的行被复制)
- 从副本替换在单元中的数据与所述值输入到表单
的问题是小区A〜I的基于值(从表单填充)单元格M到O也是如此,但单元格J,K,L是基于A到I中某些单元格的计算结果。
这意味着我必须对getRange/setValues进行2次调用,有时第二次调用设置单元格M,N,O不起作用。结果是在单元格A到I(以及J,K,L)中使用正确的数据创建了一个新行,但单元格M,N,O保留在上面行中的单元格中。
这里是相关的代码。
// Assign object data for cells A to I
var newvalues = [
[ username, applyDate, maritalStatus, sponsorApprovalDate, processingOffice, inProcessDate, extraDocsRequestedDate, nonVisaExempt, decisionMadeDate ]
];
// Set cells A to I with data from form
sheet.getRange('A' + startingRowIndex + ':I' + startingRowIndex).setValues(newvalues);
// Now assign object data for cells M to O
newvalues = [
[ coprReceivedDate, location, notes ]
];
// Set cells M to O with data from form
sheet.getRange('M' + startingRowIndex + ':O' + startingRowIndex).setValues(newvalues);
如上所述,第二个sheet.getRange('...').SetValues()调用无法设置值。
任何想法?
发生的频率?如果这种情况很少,那么脚本无法完全执行(因为表中没有交易),这是正常行为。 –
现在正在发生100%的时间 – andrewb
作出一个最小的样本,重现这一点。我们不知道你的代码或数据还有什么。 –