@serw_80

Как автоматически создать копию листа Таблицы?

Добрый день!

Прошу помочь написать скрипт для гугл таблиц.

Суть в том, что имеется исходный лист, который заполняется ежедневно и распечатывается.
Необходимо сделать так, чтобы при заполнении первого (шаблонного) листа таблицы по кнопке выводился отдельный лист-копия.
Таким образом в обном файле за месяц должно создаться 30-31 листа с данными.
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Вам потребуется Google Apps Script для запуска программы из меню Таблицы.

Создаем меню

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu('Reset sheet')
    .addItem('Make a copy before reset', 'userActionMakeCopyBeforeReset')
    .addToUi();
}


Действие пользователя

function userActionMakeCopyBeforeReset() {
  const book = SpreadsheetApp.getActive();
  const sheet = book.getActiveSheet();
  makeCopyBeforeReset_(sheet, book);
}


Копирование и сброс листа-шаблона

function makeCopyBeforeReset_(sheet, book) {
  const copy = sheet.copyTo(book);
  const rangesAddressesList = ['B5', 'B7', 'B9', 'B11'];
  resetByRangesList_(sheet, rangesAddressesList);
  return copy;
}


Основной метод сброса данных

function resetByRangesList_(sheet, rangesAddressesList) {
  sheet.getRangeList(rangesAddressesList).clearContent();
}


Собрав это все, вы должны получить программу как на видео https://twitter.com/i/status/1260851838942957574
Пример в Таблице https://docs.google.com/spreadsheets/d/1g8cCxofljF...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Alexander Ivanov
contributor.pw Google Apps & API. Скрипты, Таблицы...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы