Javascript 脚本在循环中被捕获了3-5次,然后停止
我正在为我的项目编写应用程序脚本。我对所有编程语言都很陌生。我遇到了一个特定代码段的问题,它在循环中运行了3-5次,然后自行停止。整个代码是Javascript 脚本在循环中被捕获了3-5次,然后停止,javascript,google-apps-script,Javascript,Google Apps Script,我正在为我的项目编写应用程序脚本。我对所有编程语言都很陌生。我遇到了一个特定代码段的问题,它在循环中运行了3-5次,然后自行停止。整个代码是 var EMAIL_SENT = "EMAIL_SENT"; function Test() { autofill(); replace(); var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 2; var numRows = sheet.get
var EMAIL_SENT = "EMAIL_SENT";
function Test() {
autofill();
replace();
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = sheet.getLastRow() - 1;
var lastColumn = sheet.getLastColumn();
var dataRange = sheet.getRange(startRow, 1, numRows, lastColumn)
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var lastRow = sheet.getLastRow();
var service = sheet.getRange(lastRow, 11).getValue();
if (service === 0) {
filterBTC();
codeBTC();
} else {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('K1').activate();
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(['0'])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(11, criteria);
spreadsheet.getRange('B1').activate();
spreadsheet.getActiveSheet().getFilter().sort(2, true);
spreadsheet.getRange('B3').activate();
spreadsheet.getActiveRange().autoFill(spreadsheet.getRange('B3:B561'),
SpreadsheetApp.AutoFillSeries.ALTERNATE_SERIES);
spreadsheet.getRange('B3:B561').activate();
SendOrder();
removefilters();
}
}
}
请帮忙,我已经努力完成这个项目快一个星期了。
谢谢大家! 如果您是一名非常新的程序员,您首先应该学习的是如何调试代码和分步运行脚本,并了解每个变量/对象如何变化,而不是生成数千条日志您是否尝试过在循环的第一行
console.log(data.length)
中添加这一行。然后在控制台中检查返回的值。脚本的目标是什么?看起来您正在填充,然后查看结果……是否应该使用脚本本身进行操作?任何上下文都有助于提供答案。
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('K1').activate();
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(['0'])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(11, criteria);
spreadsheet.getRange('B1').activate();
spreadsheet.getActiveSheet().getFilter().sort(2, true);
spreadsheet.getRange('B3').activate();
spreadsheet.getActiveRange().autoFill(spreadsheet.getRange('B3:B561'),
SpreadsheetApp.AutoFillSeries.ALTERNATE_SERIES);
spreadsheet.getRange('B3:B561').activate();
SendOrder();
removefilters();