[英]How do I loop this Google Apps Script function?
I tried to create a macro on Google sheets, which I did and it works perfectly, but I don't know how to get this function to loop.我试图在 Google 工作表上创建一个宏,我做到了,并且效果很好,但我不知道如何让这个函数循环。
function ba() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('E6').activate();
spreadsheet.getRange('D8').moveTo(spreadsheet.getActiveRange());
spreadsheet.getRange('F6').activate();
spreadsheet.getRange('D10').moveTo(spreadsheet.getActiveRange());
spreadsheet.getRange('G6').activate();
spreadsheet.getRange('D12').moveTo(spreadsheet.getActiveRange());
spreadsheet.getRange('D6:G6').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet9'), true);
spreadsheet.getRange('D6').activate();
spreadsheet.getRange('Sheet8!D6:G6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet8'), true);
spreadsheet.getRange('D6:G14').activate();
spreadsheet.setCurrentCell(spreadsheet.getRange('D14'));
spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
};
Note: I tried to add the following snipet bellow the function, but it doesn't work.注意:我尝试在函数下方添加以下代码段,但它不起作用。
for (var i = 0; i < 10; i++) {
Logger.log(i);
}
I actually managed to make this work.我实际上设法完成了这项工作。 (Thank you @Calculuswhiz for the hint and everybody else for trying to help)
(感谢@Calculuswhiz 的提示和其他试图提供帮助的人)
I added the following snippet at the end of the function:我在函数末尾添加了以下代码段:
for (var i = 0; i < 10; i++) {
Logger.log(i);
}
I replaced Logger.log(i);
我替换了
Logger.log(i);
With what I want to be repeated.用我想重复的话。 Below is the final resualt
下面是最终结果
function ba() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('E6').activate();
spreadsheet.getRange('D8').moveTo(spreadsheet.getActiveRange());
spreadsheet.getRange('F6').activate();
spreadsheet.getRange('D10').moveTo(spreadsheet.getActiveRange());
spreadsheet.getRange('G6').activate();
spreadsheet.getRange('D12').moveTo(spreadsheet.getActiveRange());
spreadsheet.getRange('D6:G6').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet9'), true);
spreadsheet.getRange('D6').activate();
spreadsheet.getRange('Sheet8!D6:G6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet8'), true);
spreadsheet.getRange('D6:G14').activate();
spreadsheet.setCurrentCell(spreadsheet.getRange('D14'));
spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
for (var i = 0; i < 400; i++) {
spreadsheet.getRange('E6').activate();
spreadsheet.getRange('D8').moveTo(spreadsheet.getActiveRange());
spreadsheet.getRange('F6').activate();
spreadsheet.getRange('D10').moveTo(spreadsheet.getActiveRange());
spreadsheet.getRange('G6').activate();
spreadsheet.getRange('D12').moveTo(spreadsheet.getActiveRange());
spreadsheet.getRange('D6:G6').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet9'), true);
spreadsheet.getRange('D6').activate();
spreadsheet.getRange('Sheet8!D6:G6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet8'), true);
spreadsheet.getRange('D6:G14').activate();
spreadsheet.setCurrentCell(spreadsheet.getRange('D14'));
spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.