【发布时间】:2019-12-04 15:10:18
【问题描述】:
激活顺序甚至不遵循时间逻辑,如下所示:
每 5 分钟启用一次。
我使用的脚本很简单:
function ProjetoNovasLigas() {
var ss = SpreadsheetApp.getActive();
ss.getRange('Página1!A2').setFormula('=TEXT(NOW(),"yyyy/mm/dd hh:mm")');
ss.getRange('Página1!A2').copyTo(ss.getRange('Página1!A2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!K2:M').copyTo(ss.getRange('Página1!O2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!D2:D').copyTo(ss.getRange('Página1!E2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
if (ss.getSheetByName('Página1').getRange("C2").getValues()[0][0]=="Limpar"){
ss.getRange('Página1!E2:E1000000').clear({contentsOnly: true, skipFilteredRows: true});
};
ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!V2:V1000000').clear({contentsOnly: true, skipFilteredRows: true});
ss.getRange('Página1!V2').setFormula('=IFERROR(FILTER(ARRAY_CONSTRAIN(UNIQUE(IFERROR(FILTER(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),ISNA(MATCH(RIGHT(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")),LEN(REGEXEXTRACT(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),REGEXREPLACE(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),"(https?:\\/\\/([\\w.-]+\\/){7})","($1)")))-44),Sheet2!D:D, 0))))),300,1),ISNA(MATCH(ARRAY_CONSTRAIN(FILTER(Q2:Q,ISNA(MATCH(Q2:Q, S2:S, 0)),VALUE(TEXT(O2:O&" "&P2:P,"yyyy/mm/dd hh:mm"))<=VALUE(TEXT(A2,"yyyy/mm/dd hh:mm"))+"1:00"),300,1), X:X, 0)))\n)');
ss.getRange('Página1!V2:V').copyTo(ss.getRange('Página1!V2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!U2:U').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!W2:W').copyTo(ss.getRange('Página1!X2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
if (ss.getSheetByName('Página1').getRange("A4").getValues()[0][0]=="Limpar"){
ss.getRange('Página1!X2:X1000000').clear({contentsOnly: true, skipFilteredRows: true});
};
}
最终细节: 我的帐户什么都没有了,它只是为这个电子表格和这个脚本创建的。所以它没有超出任何限制,我有另一个帐户,其中包含几个和几个电子表格,触发时间为 5 分钟,并且一切正常。但是这个专门针对这个帐户的不能正常工作。
我使用的一些脚本非常复杂和繁重,而且都 100% 运行良好。我觉得这很奇怪,对正在发生的事情没有合乎逻辑的解释。至少我无法从我所知道的情况中找出错误。
不知道有什么办法可以解决这个问题。
【问题讨论】:
-
那么第一张截图是触发的实际时间间隔?手动运行脚本需要多长时间运行还是有错误?
-
@JamesD 当我手动运行时,它运行良好。它最多可以立即完成:40 秒。照片显示拍摄的时间。他们每个人之间应该有 5 分钟的时间限制,但事实并非如此。
标签: google-apps-script google-sheets google-sheets-api triggers