我想将两个简单的脚本组合在一起,但是组合时不起作用。谁能告诉我为什么?
我不明白这里发生了什么,任何人都可以向我解释,或者任何人都可以告诉我如何结合两个脚本
function Script1() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.PREVIOUS).activate();
spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.PREVIOUS).activate();
spreadsheet.getCurrentCell().offset(0, 7).activate();
spreadsheet.getCurrentCell().setFormulaR1C1('=edate(R[0]C[-3],1)');
spreadsheet.getCurrentCell().offset(0, 1).activate();
spreadsheet.getCurrentCell().setFormulaR1C1('=now()');
};
function Script2() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getCurrentCell().offset(0, 1).activate();
spreadsheet.getCurrentCell().offset(0, -2).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.getCurrentCell().offset(0, 1).activate();
spreadsheet.getCurrentCell().offset(0, -2).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};
function Combined() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.PREVIOUS).activate();
spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.PREVIOUS).activate();
spreadsheet.getCurrentCell().offset(0, 7).activate();
spreadsheet.getCurrentCell().setFormulaR1C1('=edate(R[0]C[-3],1)');
spreadsheet.getCurrentCell().offset(0, 1).activate();
spreadsheet.getCurrentCell().setFormulaR1C1('=now()');
spreadsheet.getCurrentCell().offset(0, 1).activate();
spreadsheet.getCurrentCell().offset(0, -2).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.getCurrentCell().offset(0, 1).activate();
spreadsheet.getCurrentCell().offset(0, -2).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};
答案 0 :(得分:1)
脚本正在获取当前单元格,然后使用activate()
来更改当前单元格,因此第二部分的“起点”与第一部分的“起点”不同。