2017-10-14 131 views
0

我正在处理一个电子表格的简单Google脚本,该脚本将沿着表格中的一列向下移动,并基于从链接中提取的信息更新其旁边的列在原始栏中。我的变量似乎并没有在for循环中更新

问题是无论输入列如何,都会输出相同的输出。我的代码是在这里:

function idThatSucka() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var range = ss.getRange("F2:F20"); 
    for (var y = 1; y <= range.getHeight(); y++) { 
    var logCell = ss.getRange("E"+y+":E"+y); 
    var url = ss.getRange("F"+y+":F"+y).getValue(); 
    if (url){ 
     var response = UrlFetchApp.fetch(url); 
     Logger.log(response.getContentText()); 
     var theLog = Logger.getLog(); 
     var start = theLog.split('</title>')[0]; 
     var output = start.split('Steam Community :: ')[1]; 
     logCell.setValue(output); 
    } 
    } 
} 

我怀疑,“URL”可能不会被更新,但没有到目前为止,我已经试过有固定的问题。

+0

那么你尝试过它登录到控制台?在声明url变量之后立即写出console.log(url); –

+0

我刚刚尝试过。输出没有变化。 –

+0

控制台说了什么? –

回答

0

尝试这样

function idThatSucka() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var range = ss.getRange("F2:F20"); 
for (var y = 1; y <= range.getHeight(); y++) { 
var url=''; 
var logCell=''; 
    logCell = ss.getRange("E"+y+":E"+y); 
    url = ss.getRange("F"+y+":F"+y).getValue(); 
    if (url){ 
    var response = UrlFetchApp.fetch(url); 
    Logger.log(response.getContentText()); 
    var theLog = Logger.getLog(); 
    var start = theLog.split('</title>')[0]; 
    var output = start.split('Steam Community :: ')[1]; 
    logCell.setValue(output); 
} 
} 
} 
+0

刚刚尝试过,发生同样的问题。 –