Как выполнить скрипт в определенное время

Есть 2 таблицы: в одной - расходы за месяц, во второй - архив расходов за год. Нужно, чтобы по окончании месяца (например, 31 января в 23:59), данные из таблицы 1 должны добавляться в годовой архив. Соответственно, так же и в последующих месяцах.

Пока что мой код добавляет данные только при нажатии кнопки выполнить. Как можно автоматизировать этот процесс, чтобы данные добавлялись конкретно в определенное время? Вообще реально ли такое?

Спасибо.

function myFunction() {
  let ss = SpreadsheetApp.getActiveSpreadsheet()
  let sTabl = ss.getSheetByName('Tabl') // вкладка источник данных
  let lastRowTabl = sTabl.getLastRow()
  let tablRange = sTabl.getRange('A2:E').getValues()

  let sArchive = ss.getSheetByName('Archive') // вкладка архива
  let lastRowArchive = sArchive.getLastRow()
  sArchive.getRange(lastRowArchive+1, 1, tablRange.length, tablRange[0].length).setValues(tablRange)
  }

Ответы (1 шт):

Автор решения: contributorpw

Попробуйте просто добавить эту функцию в триггер. Обратите внимание, что я указал начала другого периода, а не конец требуемого - это нужно для того, чтобы триггер сработал гарантированно вовремя, поэтому проследите, чтобы он обрабатывал только нужные данные.

Если что-то пойдет не так, попробуйте заменить

let ss = SpreadsheetApp.getActiveSpreadsheet()

на

let ss = SpreadsheetApp.openById('ID вашей Таблицы');

введите сюда описание изображения

→ Ссылка