Как вырезать и вставлять строки из таблицы Google в другую после многократного повторения
Пожалуйста, помогите мне с этой проблемой.
У меня есть большие данные в электронной таблице Google. Я просто хочу вырезать и вставить всего 10 строк в другую таблицу Google. Я хочу повторять это задание каждые 15 минут. Как это сделать?
См. Демонстрацию: https://docs.google.com/spreadsheets/d/1ey5OCYKbIFZ-PHEtUPjRoORBiPyHKAsQxq4zKCZ0pgs/edit?usp=sharing
Как ссылка выше, я хочу вырезать и вставить несколько строк с листа 1 на лист 2, автоматически каждые 15 минут.
Я буду признателен за вашу помощь.
1 ответ
Вырежьте и вставьте десять строк каждые десять минут
Это должно сделать это для вас. Это обрежет и вставит десять нижних рядов листа "Мастер" на лист "Копировать". Вы должны запустить myCutAndPaste() в первый раз, а затем он создаст десять минут, но он не создаст больше одного. Когда он получает строку заголовка, он останавливается и удаляет триггер. С небольшими изменениями два листа находятся в разных таблицах.
function myCutAndPaste()
{
setupTrigger();
var ss0=SpreadsheetApp.getActive();
var sh0=ss0.getSheetByName('Master');
var ss1=SpreadsheetApp.openById('Your ID');
var sh1=ss1.getSheetByName('Copy');
var rg0=sh0.getDataRange();
var vA=rg0.getValues();
var lng=vA.length;
for(var i=lng-1;i>lng-10;i--)
{
if(i<1)
{
deleteTrigger('myCutAndPaste');
break;
}
sh1.appendRow(vA[i]);
sh0.deleteRow(i+1);
var end='near the end';
}
}
function setupTrigger()
{
if(!isTrigger('myCutAndPaste'))
{
ScriptApp.newTrigger('myCutAndPaste').timeBased().after(600000).create();
}
}
function isTrigger(handlerName)
{
var r=false;
var triggers = ScriptApp.getProjectTriggers();
for (var i=0;i<triggers.length;i++)
{
if (handlerName==triggers[i].getHandlerFunction())
{
r=true;
break;
}
}
return r;
}
function deleteTrigger(handlerName)
{
var myTriggers=ScriptApp.getProjectTriggers();
for(var i=0;i<myTriggers.length;i++)
{
if(myTriggers[i].getHandlerFunction()==handlerName)
{
ScriptApp.deleteTrigger(myTriggers[i]);
break;
}
}
}