Как вырезать и вставлять строки из таблицы 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;
    }
  }
}
Другие вопросы по тегам