В документе Google-таблиц на листе "Список" есть список наименований, с которыми необходимо создать новые листы копированием листа "Пример".
Нужен макрос для привязки к кнопке, чтобы по её нажатию лист "Пример" копировался в новый в конец документа (последним листом в документе) и ему задалось имя из ячейки A1 листа "Список", затем лист "Пример" копировался в новый и ему задалось имя из ячейки A2 листа "Список"...и так до тех пор, пока не создадутся копированием все листы из списка в столбце А. Список может быть с разным количеством.
Документ для примера
На данный момент сделал только создание нового листа копированием и именованием заданным именем:
function CopySheet() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getSheetByName('Пример');
spreadsheet.getSheetByName('Пример').getRange('A1').activate();
spreadsheet.duplicateActiveSheet();
spreadsheet.moveActiveSheet(3);
spreadsheet.getActiveSheet().setName('ПримерНовый');
};
Как изменить макрос так, чтобы:
1) при копировании лист перемещался в конец документа (проверялось количество листов и новый помещался за последний),
2) имя назначалось из списка A1, A2, A3 и т.д., пока есть данные в ячейках в столбце А листа "Список" (может быть 10 значений, а может быть и 20),
3) можно ли как-то сделать это в фоне (например, в Excel можно было в функции указать "Application.ScreenUpdating = False", чтобы каждый лист не открывался.
4) если возможен пункт 3, то можно ли как-то сделать, чтобы по итогу выводилось сообщение примерно как "Все листы созданы" или (в идеале) "Создано листов: ** (количество созданных макросом листов)"?