5 skryptów Google Funkcje skryptu, które musisz znać


Arkusze Google to potężne narzędzie do obsługi arkuszy kalkulacyjnych w chmurze, które pozwala robić prawie wszystko, co można zrobić w programie Microsoft Excel. Ale prawdziwą potęgą Arkuszy Google jest dołączona do niej funkcja Google Scripting.

Skrypty Google Apps to narzędzie do tworzenia skryptów w tle, które działa nie tylko w Arkuszach Google, ale także Dokumenty Google, Gmail , Google Analytics i prawie każda inna usługa chmurowa Google. Pozwala zautomatyzować te poszczególne aplikacje i zintegrować każdą z nich.

W tym artykule dowiesz się, jak zacząć korzystać ze skryptów Google Apps, tworzenia podstawowego skryptu w Arkuszach Google do odczytu i zapisu danych komórki oraz najskuteczniejszych zaawansowanych Arkuszy Google funkcje skryptu.

Jak utworzyć skrypt Google Apps

Możesz teraz rozpocząć tworzenie pierwszego skryptu Google Apps z poziomu Arkuszy Google.

Aby to zrobić, wybierz z menu Narzędzia, a następnie Edytor skryptów.

Otwiera to okno edytora skryptów i domyślnie działa funkcja o nazwie myfunction (). Tutaj możesz utworzyć i przetestować swój skrypt Google.

In_content_1 all: [300x250] / dfp: [640x360]->

Aby spróbować, spróbuj utworzyć funkcję skryptu Arkuszy Google, która odczyta dane z jednej komórki, wykona na niej obliczenia i wyśle ​​ilość danych do innej komórki.

Funkcja pobierania danych z komórki to funkcje getRange ()i getValue (). Możesz zidentyfikować komórkę według wiersza i kolumny. Jeśli więc masz wartość w wierszu 2 i kolumnie 1 (kolumna A), pierwsza część skryptu będzie wyglądać następująco:

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); var row = 2; var col = 1; var data = sheet.getRange(row, col).getValue(); }

Zapisuje wartość z tego komórka w zmiennej dane. Możesz wykonać obliczenia na danych, a następnie zapisać te dane w innej komórce. Tak więc ostatnią częścią tej funkcji będzie:

   var results = data * 100;
sheet.getRange(row, col+1).setValue(results); }

Po zakończeniu pisania funkcji wybierz ikonę dysku, aby zapisać.

Przy pierwszym uruchomieniu nowa funkcja skryptu Arkuszy Google, taka jak ta (wybierając ikonę uruchamiania), musisz podać Autoryzację dla skryptu do uruchomienia na Twoim koncie Google.

Zezwól na kontynuowanie uprawnień. Po uruchomieniu skryptu zobaczysz, że skrypt zapisał wyniki obliczeń do komórki docelowej.

Teraz, gdy wiesz, jak napisać podstawową funkcję skryptu Google Apps, przyjrzyjmy się bardziej zaawansowanym funkcjom.

Użyj getValues ​​do załadowania tablic

Możesz przenieść koncepcję wykonywania obliczeń na danych w arkuszu kalkulacyjnym za pomocą skryptów na nowy poziom, używając tablic. Jeśli załadujesz zmienną w skrypcie Google Apps przy użyciu getValues, zmienna będzie tablicą, która może ładować wiele wartości z arkusza.

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues();

Zmienna danych jest wielowymiarowa tablica przechowująca wszystkie dane z arkusza. Aby wykonać obliczenia na danych, użyj pętli for. Licznik pętli for będzie działał przez każdy wiersz, a kolumna pozostanie stała, w oparciu o kolumnę, w której chcesz pobrać dane.

W naszym przykładowym arkuszu kalkulacyjnym możesz wykonać obliczenia dla trzech wierszy danych w następujący sposób.

for (var i = 1; i < data.length; i++) {
var result = data[i][0] * 100; sheet.getRange(i+1, 2).setValue(result);  } }

Zapisz i uruchom ten skrypt, tak jak powyżej. Zobaczysz, że wszystkie wyniki są wypełnione w kolumnie 2 w arkuszu kalkulacyjnym.

Zauważysz, że odwołanie do komórki i wiersza w zmiennej tablicowej jest inne niż w przypadku funkcji getRange.

dane [i] [0]odnoszą się do wymiarów tablicy, gdzie pierwszym wymiarem jest rząd, a drugim kolumna. Oba zaczynają się od zera.

getRange (i + 1, 2)odnosi się do drugiego wiersza, gdy i = 1 (ponieważ wiersz 1 jest nagłówkiem), a 2 oznacza druga kolumna, w której przechowywane są wyniki.

Użyj appendRow do zapisywania wyników

Co zrobić, jeśli masz arkusz kalkulacyjny, w którym chcesz zapisać dane w nowym wiersz zamiast nowej kolumny?

Można to łatwo zrobić za pomocą funkcji appendRow. Ta funkcja nie przeszkadza żadnym istniejącym danym w arkuszu. Po prostu doda nowy wiersz do istniejącego arkusza.

Na przykład utwórz funkcję, która będzie liczyć od 1 do 10 i pokaże licznik z wielokrotnością 2 w Licznikucolumn.

Ta funkcja wyglądałaby następująco:

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 1; i<11; i++) { var result = i * 2; sheet.appendRow([i,result]); } }

Oto wyniki działania tej funkcji.

Przetwarzaj kanały RSS za pomocą URLFetchApp

Możesz połączyć poprzednią funkcję skryptu Arkuszy Google i URLFetchApp, aby pobrać kanał RSS z dowolnej witryny i napisać wiersz do arkusza kalkulacyjnego dla każdego artykułu opublikowanego ostatnio na tej stronie .

Jest to w zasadzie metoda samodzielnego tworzenia własnego arkusza kalkulacyjnego czytnika kanałów RSS!

Skrypt do wykonania tego również nie jest zbyt skomplikowany.

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); var item, date, title, link, desc;  var txt = UrlFetchApp.fetch("https://www.topsecretwriters.com/rss").getContentText(); var doc = Xml.parse(txt, false);   title = doc.getElement().getElement("channel").getElement("title").getText(); var items = doc.getElement().getElement("channel").getElements("item");    // Parsing single items in the RSS Feed for (var i in items) { item  = items[i]; title = item.getElement("title").getText(); link  = item.getElement("link").getText(); date  = item.getElement("pubDate").getText(); desc  = item.getElement("description").getText(); sheet.appendRow([title,link,date,desc]); } }

Jak widać, Xml.parsewyciąga każdy element z kanału RSS i dzieli każdą linię na tytuł, link, datę i opis.

Korzystając z funkcji appendRow, możesz umieścić te elementy w odpowiednich kolumnach dla każdego pojedynczego elementu w kanale RSS.

Wynik w arkuszu będzie wyglądał coś takiego:

Zamiast tego osadzając adres URL kanału RSS w skrypcie, możesz mieć pole w arkuszu z adresem URL, a następnie mieć wiele arkuszy - po jednym dla każdej witryny, którą chcesz monitorować.

Połącz łańcuchy i dodaj zwrot karetki

Możesz przejść do arkusza kalkulacyjnego RSS krok dalej, dodając funkcje manipulacji tekstem, a następnie użyć funkcji e-mail, aby wysłać sobie e-mail z podsumowaniem wszystkich nowych postów w kanale RSS witryny.

Aby to zrobić, w skrypcie utworzonym w poprzedniej sekcji, będziesz chciał dodać skrypty, które wyodrębnią wszystkie informacje z arkusza kalkulacyjnego.

Musisz zbudować wiersz tematu i treść wiadomości e-mail, analizując wszystkie informacje z tej samej tablicy „elementów”, której użyto do zapisania danych RSS w arkuszu kalkulacyjnym.

Aby to zrobić, zainicjuj temat i wiadomość, umieszczając następujące wiersze przed „elementami” pętli For.

var subject = ‘Latest 10 articles published at mysite.com’
var message = ‘’

Następnie na końcu „elementy” pętli (zaraz po funkcji appendRow), dodaj następujący wiersz.

message = message + title + '\n' + link + '\n' + date + '\n' + desc + '\n' + '\n \n';

Symbol „+” połączy wszystkie cztery elementy razem, a następnie „\ n ”Dla powrotu karetki po każdej linii. Na końcu każdego bloku danych tytułu potrzebujesz dwóch zwrotów karetki dla ładnie sformatowanej treści wiadomości e-mail.

Po przetworzeniu wszystkich wierszy zmienna „body” przechowuje cały ciąg wiadomości e-mail. Teraz możesz wysłać wiadomość e-mail!

Jak wysłać wiadomość e-mail w skrypcie Google Apps

Następną sekcją skryptu Google będzie wysłanie „temat” i „ciało” za pośrednictwem poczty elektronicznej. Wykonanie tego w Google Script jest bardzo proste.

var emailAddress = [email protected];
MailApp.sendEmail(emailAddress, subject, message);

MailApp to bardzo wygodna klasa w skryptach Google Apps, która umożliwia dostęp do usługi e-mail konta Google do wysyłania lub odbierania e-maile. Dzięki temu pojedynczy wiersz z funkcją sendEmail pozwala wyślij dowolny e-mail tylko z adresem e-mail, tematem i treścią.

Tak będzie wyglądać otrzymany e-mail .

Łączenie możliwości wypakowania kanał RSS witryny, przechowuj go w Arkuszu Google i wysyłaj do siebie z dołączonymi linkami URL, dzięki czemu bardzo wygodnie jest śledzić najnowsze treści dla dowolnej witryny.

To tylko jeden przykład siły jest to dostępne w skryptach Google Apps do automatyzacji działań i integracji wielu usług chmurowych.

Ukryte bajery przeglądarki GOOGLE - UPDATE

Powiązane posty:


16.01.2020