【问题标题】:How to cut & paste rows from Google spread sheet to another after x-times repeatly如何在重复 x 次后将行从 Google 电子表格剪切并粘贴到另一个
【发布时间】:2017-08-08 21:28:35
【问题描述】:

请帮我解决这个问题。

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

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

如上面的链接,我想每隔 15 分钟自动将一些行从工作表 1 剪切并粘贴到工作表 2。

感谢您的帮助。

【问题讨论】:

  • 虽然在我看来不是重复,但您的问题类似于this question。阅读答案可能会有所帮助。我猜你可以选择以下两条路线之一:谷歌脚本,或者作为 TSV/CSV 发布到网络并编写一个脚本来自动检查该地址并进行相应的处理。欢迎来到 Stack Overflow,祝你好运!

标签: google-sheets repeat


【解决方案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;
    }
  }
}

【讨论】:

  • 嗨库珀,感谢您的帮助。但我只是喜欢每 15 分钟自动化一次,因为我无法在 excel 中单击运行超过 1m 行。
  • 您只需运行一次即可启动。
  • 嗨库珀,很抱歉我的误解。你的想法很好,但我喜欢: - 从电子表格剪切并粘贴到另一个电子表格(每个电子表格只有一张)。 - 只需替换“复制”电子表格中的行,而不是最后添加更多行。 - 每次剪切和粘贴时将 10 行更改为 100 行。再次感谢 Cooper,感谢您的帮助。
  • 好的,现在 sh0 来自一个电子表格,而 sh1 来自另一个电子表格。我们在这里做出的一个假设是,您是一个想学习如何编程的人。在那里,我建议您计划对我们的建议进行自己的调整。越早开始自己编写代码,就越早学习 Google Apps 脚本。
  • 嗨库珀,感谢您的建议。请帮我重新调整一下:在主电子表格中剪切 10 行并在复制电子表格中替换它们。再次感谢你。 p.s:我的员工正在学习谷歌脚本,但我们是新手,所以我无法控制它。 :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多