В настоящее время я работаю над проектом на листах Google и пытаюсь создать сценарий, который будет переименовывать вкладку каждого нового листа на основе значения ячейки внутри основного листа. Скажем, например, номер билета в ячейке C7 будет тем, что отображается на вкладке. До сих пор я все сделал с помощью макроса, который приводит меня к следующему вопросу. Должен ли я просто добавить это внизу всего кода, уже там?
Вот что у меня есть
function onEdit(e) {
var ss = SpreadsheetApp.getActive() //gets the active spreadsheet
var sheet = SpreadsheetApp.getActiveSheet() //gets the active sheet
var cell = ss.getActiveRange() //gets the active cell
var cellContent = cell.getValue() //gets the value of the active cell
if(cellContent === 'BOXCHECKED')
{
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('B1:H4').activate();
var currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
spreadsheet.getRange('B1:H55').activate();
spreadsheet.insertSheet(1);
spreadsheet.getRange('\'Quote Sheet\'!B1:H55').copyTo(spreadsheet.getActiveRange().rename spreadsheet '\' Quote Sheet\'H5') SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('\'Quote Sheet\'!B1:H55').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.getActiveSheet().hideSheet();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Data Sheets'), true);
spreadsheet.getRange('2:35').activate();
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 34);
spreadsheet.getActiveRange().offset(0, 0, 34, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Quote Sheet'), true);
spreadsheet.getRange('B11').activate();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.NEXT).activate();
currentCell.activateAsCurrentCell();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.NEXT).activate();
currentCell.activateAsCurrentCell();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.NEXT).activate();
currentCell.activateAsCurrentCell();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.UP).activate();
currentCell.activateAsCurrentCell();
spreadsheet.getRange('B12:z44').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Data Sheets'), true);
spreadsheet.getRange('\'Quote Sheet\'!B12:z44').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Quote Sheet'), true);
spreadsheet.getRangeList(['C5:C10', 'H6:H10', 'B12:B44','D12:E44', 'H49:H50','B51:E55']).activate();
spreadsheet.setCurrentCell(spreadsheet.getRange('H49'));
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
spreadsheet.getRange('C5').activate();
SpreadsheetApp.getActive();
spreadsheet.getRange('G53').activate();
spreadsheet.getCurrentCell().setValue('False')
}
};
};