【发布时间】:2016-12-20 07:35:38
【问题描述】:
问题 1。
我正在尝试编写一个脚本,以根据其中一张工作表上的表格重命名和重新排序 Google 电子表格中的工作表。几个小时以来,我一直在尝试不同的方法来让它工作无济于事。 (我仍在尝试掌握循环的窍门)
此脚本将在一个工作表中,我将与其他可能意外重新排序或可能重命名工作表的人共享。
我已经包含了当前代码和一个示例文件。
注意:工作表名称将完全不同,无法按字母顺序排列。
function OnOpen(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
for( var i in sheets )
if(sheets[i].getSheetId() == '978626951'){
var sheet = ss.getSheets()[i];
break;
}
var sheetData = sheet.getRange(2,1,11,3).getValues();
for (var a = 0; a < sheetData.length; a++) {
for (var b = 0; a < sheetData.length; b++){
var find = sheetData[a][0]; Logger.log(sheets[a].getSheetName());
if(find == sheets[a].getSheetId()) {
var temp = ss.getSheets()[a].activate();
ss.moveActiveSheet(sheetData[a][2]);
}
}
}
}
Link 使用脚本的电子表格示例。
第二个问题
根据 W3schools,可以从循环内部增加循环。 (代码形式W3)
var i = 0;
var len = cars.length;
for (; i < len; ) {
text += cars[i] + "<br>";
i++;
}
但是,当我尝试在 Google 脚本中执行此操作时,调试器挂起,我必须刷新。这在谷歌脚本中是不可能的吗?
任何帮助将不胜感激。
【问题讨论】:
-
问题 1:不完全确定您在问什么。您是否设法使其工作但遇到问题?问题 2:您的浏览器可能由于无限循环而挂起。使用 console.log() 跟踪变量 i 的值。
标签: javascript loops google-apps-script google-sheets