GAS电子表格通过标记为“;SENT”;,不起作用
GAS Spreadsheet avoid getting duplicates by marking as "SENT", not working?
我在谷歌电子表格中有这个脚本,它可以很好地获取所有标记为"READY"的行,然后它将列"W"(23)中的值设置为"SENT",然后我试图通过将列标记为"SENT"来避免获取重复,但当我再次运行代码时,它会忽略它刚刚粘贴的"SENT?这里怎么了?
var ss = SpreadsheetApp.openById("12y85GmJ94s6k3213j2nGK8rFr0GOfd_Emfk8WHu_MUQ");
var stitchSheet = ss.getSheetByName("Sheet8");
var orderSheet = ss.getSheetByName("Sheet1");
var SENT = "SENT";
function getOrders() {
var range = orderSheet.getDataRange();
var orders = range.getValues();
for (var i = 1; i < orders.length; i++) {
var row = orders[i];
var status = row[1];
var order = row[4];
var name = row[5];
var system = row[22];
if(system != SENT){
if(status.toString() === 'READY'){
orderSheet.getRange(i,23).setValue(SENT);
stitchSheet.appendRow([order,name]);
}
}
}
}
您的代码很好,所以某个地方一定有逻辑错误。我注意到您在for循环1
中创建了var i
。我不知道这是有意还是无意,但在大多数编程语言中,数组的索引几乎总是以0开头,这意味着你将从工作表的第2行开始,而不是第1行。
查找逻辑错误
要查找逻辑错误,您需要学习如何在脚本编辑器中使用调试器控制台。
在我下面用星号标记的行上放置断点:
var ss = SpreadsheetApp.openById("12y85GmJ94s6k3213j2nGK8rFr0GOfd_Emfk8WHu_MUQ");
var stitchSheet = ss.getSheetByName("Sheet8");
var orderSheet = ss.getSheetByName("Sheet1");
var SENT = "SENT";
function getOrders() {
var range = orderSheet.getDataRange();
* var orders = range.getValues();
for (var i = 1; i < orders.length; i++) {
* var row = orders[i];
var status = row[1];
var order = row[4];
var name = row[5];
* var system = row[22];
if(system != SENT){
if(status.toString() === 'READY'){
orderSheet.getRange(i,23).setValue(SENT);
stitchSheet.appendRow([order,name]);
}
}
}
}
启动调试器,它将在第一个断点处停止。检查range
的值。展开This
应该可以找到orderSheet
和SENT
(因为它们在函数之外,应该在作用域中)。如果没有,你就有问题了。
转到下一个断点并检查orders
,它现在应该有一个数组数组。您可以检查是否获得了正确的值,如果没有,则跳到下一个断点并查看row
是什么。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- 分部隐藏在jquery中不起作用
- 在phonegap应用程序内部重定向不起作用
- Array.length似乎不起作用;console.log则显示其他情况
- $ionicplatform内的$scope不;不起作用
- 我的javascript for循环不起作用
- Meteor-添加用户自定义字段的方法不起作用
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- Textarea必需的attribut在javascript中不起作用
- 为什么javascript:void(0)在Firefox中不起作用
- GAS电子表格通过标记为“;SENT”;,不起作用