Задать вопрос
@Villert

Google Sheets — как скриптом сделать новый лист с определенным именем (дата)?

Добрый день !

Есть таблица с листами 05.03.2022, 06.03.2022, 07.03.2022 и т.д.

подскажите пожалуйста, как скриптом сделать чтобы создавался новый лист с определенным именем
после следующего - скажем 08.03.2022 и при этом копировались все данные с предыдущего листа ?
  • Вопрос задан
  • 1119 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
var source = SpreadsheetApp.getActiveSpreadsheet();
var sheet = source.getSheets()[0];

sheet.copyTo(source).setName('newName');

Вот код для дублирования листов
Ответ написан
Комментировать
@Villert Автор вопроса
получилось в итоге так - кривовато, но работает

function myFunction() {
var spreadsheet = SpreadsheetApp.getActive();

Browser.msgBox("Сейчас будет скопирован лист на следующий день");

var NameInfo = SpreadsheetApp.getActiveSheet().getName();

var year = +NameInfo.substring(7, 4)
var month = +NameInfo.substring(4, 2)
var day = +NameInfo.substring(0, 2)
var my = NameInfo.substring(2, 10)

var day1 = day + 1
NewName = day1 + my

var source = SpreadsheetApp.getActiveSpreadsheet();
var sheet = source.getSheets()[0];

sheet.copyTo(source).setName(NewName);

var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName(NewName), true);
spreadsheet.getRange('G5').activate();
spreadsheet.getCurrentCell().setValue(NewName);
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы