我有一个请求URL的函数,如果我使用带有return的函数,整个html代码将在函数名为request =“testFormula()”的单元格中。 为什么如果我使用公式函数它会工作,但如果我使用事件一,它将无法工作?
function onEdit(event){
testCom();
}
// This one will trigger automaticaly when you edit any cell in the sheet
function testCom(){
var doc = SpreadsheetApp.getActiveSpreadsheet();
doc.getRange('a1').setValue("Before fetching");
var response = UrlFetchApp.fetch("http://www.google.com/");
doc.getRange('a1').setValue(response);
}
// Use in a cell "=testFormula()" to run this function
function testFormula(){
var response = UrlFetchApp.fetch("http://www.google.com/");
return response;
}
提前致谢
答案 0 :(得分:0)
根据文档http://goo.gl/khdkL,提取调用是顺序的,因此在读取远程URL之前不会执行下一行
如果你看一下文档中的例子,他们就会完成你要做的事情,在几个单元格中显示响应:
var result = UrlFetchApp.fetch("http://api.twitter.com/1/statuses/user_timeline.json",
options);
var o = Utilities.jsonParse(result.getContentText());
var doc = SpreadsheetApp.getActiveSpreadsheet();
var cell = doc.getRange('a1');
var index = 0;
for (var i in o) {
var row = o[i];
var col = 0;
for (var j in row) {
if (fields[j]) {
cell.offset(index, col).setValue(row[j]);
col++;
}
}
index++;
}
答案 1 :(得分:0)
onEdit()是一个简单的触发器,对简单触发器中的操作有限制。
要解决您的问题,请执行以下操作
一个。将您的函数重命名为其他内容,例如onEdit1()
湾在脚本编辑器中,单击“资源” - >当前项目的触发器并添加指向此功能的新编辑触发器。
如果需要,授权你的脚本,你应该好好去