5 Funkcje skryptu Arkusze Google, które musisz wiedzieć

5 Funkcje skryptu Arkusze Google, które musisz wiedzieć

Google Sheets to potężne narzędzie do arkusza kalkulacyjnego w chmurze, które pozwala robić prawie wszystko, co możesz zrobić w Microsoft Excel. Ale prawdziwą siłą arkuszy Google jest funkcja Skryptu Google, która jest z nią.

Skrypty Google Apps to narzędzie do skrypcji w tle, które działa nie tylko w arkuszach Google, ale także Dokumenty Google, Gmail, Google Analytics i prawie każdej innej usługi Google Cloud. Pozwala automatyzować te poszczególne aplikacje i zintegrować każdą z tych aplikacji ze sobą.

Spis treści

    To otwiera okno edytora skryptów i domyślnie do funkcji o nazwie myFunction (). Tutaj możesz tworzyć i przetestować swój skrypt Google.

    Aby dać mu szansę, spróbuj utworzyć funkcję skryptu Arkuszy Google, która odczytuje dane z jednej komórki, wykonywać obliczenia i wyprowadzić ilość danych do innej komórki.

    Funkcją uzyskania danych z komórki jest getRange () I getValue () Funkcje. Możesz zidentyfikować komórkę według wiersza i kolumny. Więc jeśli masz wartość w wierszu 2 i kolumnie 1 (kolumna A), pierwsza część twojego skryptu będzie wyglądać tak:

    funkcja myFunction () var arkusz = arkusz kalkulacyjnyApp.getActivesheet (); var wiersz = 2; var col = 1; var data = arkusz.getRange (Row, col).getValue (); 

    To przechowuje wartość z tej komórki w dane zmienny. Możesz wykonać obliczenia danych, a następnie napisać te dane do innej komórki. Tak więc ostatnią częścią tej funkcji będzie:

     var wyniki = dane * 100; arkusz.getRange (wiersz, col+1).setValue (wyniki); 

    Kiedy skończysz pisać swoją funkcję, wybierz ikonę dysku, aby zapisać. 

    Po raz pierwszy uruchomisz nową funkcję skryptu Google Arreets, taką jak ta (wybierając ikonę uruchom), musisz zapewnić autoryzację skryptu do uruchomienia na koncie Google.

    Pozwól na kontynuację uprawnień. Po uruchomieniu skryptu zobaczysz, że skrypt napisał wyniki obliczeń do komórki docelowej.

    Teraz, gdy wiesz, jak napisać podstawową funkcję skryptu Google, spójrzmy na bardziej zaawansowane funkcje.

    Użyj getValues, aby załadować tablice

    Możesz podjąć koncepcję wykonywania obliczeń danych w arkuszu kalkurycznym z skryptami do nowego poziomu za pomocą tablic. Jeśli załadujesz zmienną w skrypcie Google Apps za pomocą getValues, zmienna będzie tablicą, która może ładować wiele wartości z arkusza.

    funkcja myFunction () var arkusz = arkusz kalkulacyjnyApp.getActivesheet (); var data = arkusz.getDatarange ().getValues ​​();

    Zmienna danych to wielowymiarowa tablica, która zawiera wszystkie dane z arkusza. Aby wykonać obliczenia danych, używasz Do pętla. Licznik pętli dla formy będzie działać przez każdy wiersz, a kolumna pozostaje stała, w oparciu o kolumnę, w której chcesz wyciągnąć dane.

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

    dla (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 się do komórki i wiersza w zmiennej tablicy jest inne niż w przypadku funkcji GetRange. 

    Dane [i] [0] odnosi się do wymiarów tablicy, w których pierwszy wymiar to rząd, a drugi to 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 to druga kolumna, w której są przechowywane wyniki.

    Użyj dodatku, aby zapisać wyniki

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

    Jest to łatwe do zrobienia z załącznik funkcjonować. Ta funkcja nie będzie przeszkadzać żadnym istniejącym danymi w arkuszu. Po prostu dołączy nowy wiersz do istniejącego arkusza.

    Jako przykład wykonaj funkcję, która będzie się liczyć od 1 do 10 i pokaże licznik z wielokrotnościami 2 w a Lada kolumna.

    Ta funkcja wyglądałaby tak:

    funkcja myFunction () var arkusz = arkusz kalkulacyjnyApp.getActivesheet (); dla (var i = 1; i<11; i++)  var result = i * 2; sheet.appendRow([i,result]);  

    Oto wyniki podczas uruchamiania tej funkcji.

    Proces RSS zasila się z URLFetchApp

    Możesz połączyć poprzednią funkcję skryptów Google Sheets i Urlfetchapp Aby wyciągnąć kanał RSS z dowolnej strony internetowej i napisz wiersz do arkusza kalkulacyjnego dla każdego artykułu opublikowanego na tej stronie internetowej.

    Jest to w zasadzie metoda DIY do tworzenia własnego arkusza kalkulacyjnego RSS Ceed Reader!

    Skrypt do tego nie jest zbyt skomplikowany.

    funkcja myFunction () var arkusz = arkusz kalkulacyjnyApp.getActivesheet (); var item, data, tytuł, link, desc; var txt = urlfetchapp.fetch („https: // www.TopsecretWriters.com/rss ").getContentText (); var doc = xml.parse (txt, false); title = Doc.getElement ().getElement („kanał”).GetElement („Tytuł”).getText (); var Items = Doc.getElement ().getElement („kanał”).getElements („item”); // Parsowanie pojedynczych elementów w kanale RSS dla (var i in item) item = items [i]; tytuł = przedmiot.GetElement („Tytuł”).getText (); link = pozycja.getElement („link”).getText (); Data = pozycja.GetElement („PubDate”).getText (); desc = pozycja.getElement („Opis”).getText (); arkusz.AppendRow ([tytuł, link, data, DESC]); 

    Jak widzisz, XML.analizować Wyciąga każdy element z kanału RSS i dzieli każdą linię na tytuł, link, datę i opis. 

    Używając załącznik funkcja, możesz umieścić te elementy w odpowiednich kolumnach dla każdego elementu w kanale RSS.

    Dane wyjściowe w arkuszu będzie wyglądać mniej więcej tak:

    Zamiast osadzać 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 strony, którą chcesz monitorować.

    Conatenate Strings i dodaj powrót karetki

    Możesz posunąć arkusz kalkulacyjny RSS dalej, dodając niektóre funkcje manipulacji tekstem, a następnie użyć funkcji e -mail, aby wysłać wiadomość e -mail z podsumowaniem wszystkich nowych postów w kanale RSS w witrynie RSS.

    Aby to zrobić, zgodnie z skryptem utworzonym w poprzedniej sekcji, będziesz chciał dodać skrypty, które wyodrębnią wszystkie informacje w arkuszu kalkulacyjnym. 

    Będziesz chciał zbudować linię tematu i ciało tekstowe, analizując wszystkie informacje z tej samej tablicy „elementów”, której użyłeś do zapisywania danych RSS w arkuszu kalkulacyjnym. 

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

    var tematy = 'Najnowsze 10 artykułów opublikowanych w Mysite.com '
    var message = "

    Następnie, na końcu „elementów” dla pętli (zaraz po funkcji załącznika), dodaj następujący wiersz.

    wiadomość = wiadomość + tytuł + '\ n' + link + '\ n' + data + '\ n' + desc + '\ n' + '\ n \ n';

    Symbol „+” połączy wszystkie cztery elementy razem, a następnie „\ n” w celu powrotu powozu po każdej linii. Na końcu każdego bloku danych tytułowych będziesz potrzebować dwóch zwroty z ładnie sformatowanego korpusu e -mail.

    Po przetworzeniu wszystkich wierszy zmienna „Body” utrzymuje cały ciąg wiadomości e -mail. Teraz jesteś gotowy do wysłania e -maila!

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

    Następną sekcją skryptu Google będzie wysłanie „tematu” i „ciała” za pośrednictwem poczty e -mail. Robienie tego w skrypcie Google jest bardzo łatwe.

    var e -mailAddress = [email protected];
    MailApp.SendEmail (e -mailAddress, temat, wiadomość);

    MailApp to bardzo wygodna klasa w skryptach Google Apps, która zapewnia dostęp do usługi e -mail Twojego konta Google w celu wysyłania lub odbierania e -maili. Dzięki temu pojedyncza linia z funkcją SendEmail pozwala wysyłać dowolny e -mail za pomocą tylko adresu e -mail, tematu i tekstem nadwozia.

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

    Łączenie możliwości wyodrębnienia kanału RSS witryny, przechowywania go w arkuszu Google i wysyłania do siebie z dołączonymi linkami URL, sprawia, że ​​bardzo wygodne jest śledzenie najnowszej treści dla dowolnej witryny.

    To tylko jeden przykład mocy dostępnej w skryptach Google Apps do automatyzacji działań i integracji wielu usług w chmurze.