Sto imparando gli script di Google Apps da utilizzare con i fogli di calcolo di Google.Come eseguire il ciclo dell'intervallo di celle e impostare il valore nella colonna adiacente
Ho una lista di URL in una colonna e voglio scrivere uno script per ottenere l'elemento titolo da ogni URL e scriverlo nella cella adiacente. Ho compiuto questo per una specifica cella secondo il seguente script:
function getTitles() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("url_list");
var range = sheet.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 output = sheet.getRange("H3").setValue(title);
Logger.log(title);
return title;
}
questo diventa l'URL nella G3, lo analizza, tira l'elemento e scrive l'output in H3.
Ora che ho questo elemento di base, voglio eseguire il ciclo dell'intera colonna G e scrivere l'output nella cella adiacente, ma sono bloccato. Qualcuno può indicarmi la giusta direzione?
Grazie Bryan, che è molto elegante. Posso chiederlo, usi gli array in questa soluzione e spinga. Per quanto riguarda le prestazioni, questo ha vantaggi particolari se si dispone di un numero elevato di righe? Mille grazie per aver trovato il tempo per postare questo! – needlesslosses
Vantaggio su quale alternativa? Ho spinto a 2 matrici b/c non sapevo se fosse necessario restituire 1 (titleList) senza valori vuoti. –
Vantaggio rispetto al fare un ciclo e spingere ogni valore non appena diventa disponibile. Il mio codice (non molto carino) era molto più lento, quindi ho risposto alla mia domanda. Grazie ancora! – needlesslosses