问题描述
问题在一个月前就开始了,
一些较旧的表格,我在其中通过 googlesheets 脚本以表格的形式获取股票列表,并计算移动平均线、布林带值等。当我创建工作表时,它过去每分钟处理 4-10 个股票。但现在,它是 0.3 Stock/min。
到目前为止我所做的都是基于关于 stackoverflow 的其他问题。
- 删除了所有范围为无限的公式,A:A 到 A1:A100。
- 添加了SpreadsheetApp.flush();没有任何帮助
- 将睡眠定时器置于基于时间的无限循环中。 (以结束时间执行 While 循环 - 开始时间
- 删除了空白行和空白列。
- 我认为问题所在的部分代码。
if ( s1.getRange("t1").getValue() == 1)
{
var stime = min+sec/60;
do
{
SpreadsheetApp.flush();
if(s1.getRange("d7").getValue()>0){s1.getRange('e1').copyTo(s1.getRange('d14'),{contentsOnly: true})}
s1.getRange("t1").setValue(0);
var pasterow= s1.getRange("d7").getValue();
if(pasterow<=s1.getRange('t2').getValue()&&s1.getRange("G9").getValue()>0) //Conditions required for pasting values in table
{
var t = 'l'+pasterow; var p = 'm'+pasterow;var q = 'n'+pasterow;var r = 'o'+pasterow;
var s = 'p'+pasterow;var x = 'q'+pasterow;var u = 'L'+pasterow;var v = 's'+pasterow;var w = 'i'+pasterow;
s1.getRange('d6').copyTo(s1.getRange(t),{contentsOnly: true});
s1.getRange('d5').copyTo(s1.getRange(p),{contentsOnly: true});
s1.getRange('d8').copyTo(s1.getRange(q),{contentsOnly: true});
s1.getRange('d9').copyTo(s1.getRange(r),{contentsOnly: true});
s1.getRange('d10').copyTo(s1.getRange(s),{contentsOnly: true});
s1.getRange('d11').copyTo(s1.getRange(x),{contentsOnly: true});
s1.getRange('d16').copyTo(s1.getRange(v),{contentsOnly: true});
s1.getRange("d18").copyTo(s1.getRange(w),{contentsOnly: true});
}
Utilities.sleep(10000);
var date = new Date(); var day = date.getDay();var hrs = date.getHours();var min = date.getMinutes(); var sec = date.getSeconds()+1;
var etime =min+sec/60;if(stime>=55&&etime<10){etime = etime+60;};
s1.getRange("G9").setValue(etime)
} while (etime-stime<1.95 && pasterow<s1.getRange('t2').getValue()+1 && s1.getRange('ad2').getValue()==0);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)