请帮我解决这个问题。
我在Google电子表格中有大量数据。我只是想削减&将10行粘贴到另一个Google电子表格中。我想每15分钟重复一次这个任务。怎么做?
请参阅演示:https://docs.google.com/spreadsheets/d/1ey5OCYKbIFZ-PHEtUPjRoORBiPyHKAsQxq4zKCZ0pgs/edit?usp=sharing
如上所述,我想剪切&从表1到表2粘贴一些行,每15分钟自动粘贴一次。
我的帮助会让你感激。
答案 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;
}
}
}