Loops 如何循环单元格范围并在相邻列中设置值

Loops 如何循环单元格范围并在相邻列中设置值,loops,google-apps-script,google-sheets,Loops,Google Apps Script,Google Sheets,我正在学习与谷歌电子表格一起使用的谷歌应用程序脚本 我在一列中有一个URL列表,我想编写一个脚本,从每个URL中获取title元素,并将其写入相邻的单元格中。我已经按照以下脚本为一个特定单元完成了此操作: 函数getTitles(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheetByName(“url_列表”); var范围=表。getRange(“G3”); var url=range.getValue(

我正在学习与谷歌电子表格一起使用的谷歌应用程序脚本

我在一列中有一个URL列表,我想编写一个脚本,从每个URL中获取title元素,并将其写入相邻的单元格中。我已经按照以下脚本为一个特定单元完成了此操作:

函数getTitles(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheetByName(“url_列表”); var范围=表。getRange(“G3”); var url=range.getValue(); var response=UrlFetchApp.fetch(url); var doc=Xml.parse(response.getContentText(),true); var title=doc.html.head.title.getText(); var输出=sheet.getRange(“H3”).setValue(标题); Logger.log(标题); 返回标题; } 这将在G3中获取URL,解析它,提取元素并在H3中写入输出


现在我有了这个基本的构建块,我想循环整个G列并将输出写入相邻的单元格,但我被卡住了。有人能给我指出正确的方向吗?

可能看起来像这样:

函数getTitles(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheetByName(“url_列表”); var url=sheet.getRange(“G3:G”).getValues(); var titleList=[],newValues=[], 响应、文件、标题; for(var row=0,var len=url.length;row谢谢你,布莱恩,这很优雅。我可以问一下,您在这个解决方案中使用阵列并推送。就性能而言,如果您有大量行,这有什么特别的优势吗?非常感谢您花时间发布此消息!比什么选择更有利?我推到了2个数组b/c,我不知道是否需要返回1(标题列表),不带空值。这比循环并在每个值可用时推每个值更有优势。我的代码(不是很漂亮)慢得多,所以这回答了我的问题。再次感谢!是的,对每一行使用setValue()不是一个好办法。@Bryan P如果我想为url列运行=httpresponse,如何将状态写入相邻列“H”?