如何切割&重复x次后,将Google电子表格中的行粘贴到另一个

时间:2017-08-08 21:28:35

标签: google-sheets repeat

请帮我解决这个问题。

我在Google电子表格中有大量数据。我只是想削减&将10行粘贴到另一个Google电子表格中。我想每15分钟重复一次这个任务。怎么做?

请参阅演示:https://docs.google.com/spreadsheets/d/1ey5OCYKbIFZ-PHEtUPjRoORBiPyHKAsQxq4zKCZ0pgs/edit?usp=sharing

如上所述,我想剪切&从表1到表2粘贴一些行,每15分钟自动粘贴一次。

我的帮助会让你感激。

1 个答案:

答案 0 :(得分:0)

每十分钟剪切并粘贴十行

这应该为你做。这将把十个底部的'Master'表格剪切并粘贴到'Copy'表。你必须第一次运行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;
    }
  }
}