Poznaję skrypty Google Apps do użytku z Arkuszami kalkulacyjnymi Google.Jak zapętlić zakres komórek i ustawić wartość w sąsiedniej kolumnie
Mam listę adresów URL w jednej kolumnie i chcę napisać skrypt, aby uzyskać tytuł z każdego adresu URL i zapisać go w sąsiedniej komórce. I dokonał tego dla jednej konkretnej komórki zgodnie z poniższym scenariuszem:
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;
}
to pobiera adres URL w G3, analizuje je, wyciąga element i zapisuje dane wyjściowe w H3.
Teraz, gdy mam ten podstawowy element konstrukcyjny, chcę zapętlić całą kolumnę G i zapisać wynik w sąsiedniej komórce, ale utknąłem. Czy ktoś może wskazać mi właściwy kierunek?
Dziękuję Bryan, że jest bardzo elegancki. Czy mogę zapytać, używasz tablic w tym rozwiązaniu i pchasz. Wydajność, czy to ma jakieś szczególne zalety, jeśli masz długą liczbę rzędów? Wielkie dzięki za poświęcenie czasu na opublikowanie tego! – needlesslosses
Przewaga nad jaką alternatywą? Popchnąłem do 2 tablic b/c Nie wiedziałem, czy trzeba po prostu zwrócić 1 (titleList) bez pustych wartości. –
Przewaga nad wykonywaniem pętli i przesuwanie każdej wartości, gdy stanie się dostępna. Mój (niezbyt ładny) kod był znacznie wolniejszy, więc odpowiedziałem na moje pytanie. Dzięki jeszcze raz! – needlesslosses