После долгих поисков я решил первую часть своей проблемы: я нашел приведенный ниже сценарий, который копирует данные из одного диапазона и добавляет их на другой лист.
Однако диапазон, из которого он копируется, будет автоматически обновляться с помощью формулы. Итак, моя следующая задача - как заставить скрипт запускаться при изменении ячейки?
Я считаю, что есть способ «наблюдать за клетками» на предмет изменений, но я на самом деле не очень техничен, поэтому я не смог понять это!
Возможно дополнительное усложнение - я считаю, что скрипты «при редактировании» запускаются только тогда, когда электронная таблица открыта, верно? Если это так, мне также нужно будет выяснить, как запустить скрипт для проверки новых значений через определенные промежутки времени.
Вот мой текущий сценарий:
function moveValuesOnly() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getRange("Sheet1!F1:H3");
var destSheet = ss.getSheetByName("Feuil2"); // Déterminer l'emplacement de la première ligne vide. var destRange = destSheet.getRange(destSheet.getLastRow()+1,1); source.copyTo (destRange, {contentsOnly: true}); source.clear ();
}
onEdit
выполняется, даже если электронная таблица закрыта, но работает только в том случае, если редактирование было выполнено вручную (путем набора текста), а не путем обновления формулы. Если вы хотите, чтобы ваш скрипт запускался автоматически при каждом обновлении диапазона - вам понадобится рабочий цикл с=importrange
иonChange
- см. здесь или здесь. - person ziganotschka   schedule 14.04.2020