我想为谷歌完成进行计算(即我想要添加到脚本到谷歌文档模仿一些VBA“计算”写一个脚本,让我尽快执行命令功能)。谷歌文档的自定义脚本刷新
剧本设想通过将一系列成一个字符串,并寻找子工作“正在加载...”(或“#VALUE!”或“#N/A”),在该字符串。在“while”循环应该睡觉,直到不再在字符串中发现不需要的子字符串。
我用下面的表格作为沙盒,并且代码似乎工作在沙盘还好只是在寻找“正在加载...”:
https://docs.google.com/spreadsheet/ccc?key=0AkK50_KKCI_pdHJvQXdnTmpiOWM4Rk5PV2k5OUNudVE#gid=0
在其他情况下,但是,我的单元格的值可能会返回为“#VALUE!”或“#N/A”比事实等,谷歌仍在加载/思维/计算的原因。这是怎么回事?
function onEdit() {
Refresh();
};
function Refresh() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
// set the range wherever you want to make sure loading is done
var range = sheet.getRange('A:A')
var values = range.getValues();
var string = values.toString();
var loading = "Loading";
do
{
var randomWait = Math.floor(Math.random()*100+50);
Utilities.sleep(randomWait);
}
while (string.search(loading) ==! null);
range.copyTo(sheet2.getRange('A1'), {contentsOnly:true});
customMsgBox();
};
function customMsgBox() {
Browser.msgBox("Data refreshed.");
};
要确认 - 你希望运行一些所有计算完成后的代码?这是你正在寻找的事件吗? –
@ArunNagarajan:是的。这正是我要找的。 – zenhuman
@Henrique:感谢您抽出宝贵的时间。我会记住你的建议。 – zenhuman