5 funkcji skryptów Arkuszy Google, które musisz znać
Arkusze Google(Google Sheets) to potężne narzędzie do obsługi arkuszy kalkulacyjnych w chmurze, które pozwala wykonywać prawie wszystko, co można zrobić w programie Microsoft Excel(Microsoft Excel) . Ale prawdziwą mocą Arkuszy Google(Google Sheets) jest funkcja Google Scripting , która jest z nimi związana.
Skrypty Google Apps(Google Apps) to narzędzie do wykonywania skryptów w tle, które działa nie tylko w Arkuszach Google(in Google Sheets) , ale także w Dokumentach Google, Gmailu, Google Analytics i prawie każdej innej usłudze Google(Google) w chmurze. Pozwala zautomatyzować te poszczególne aplikacje i zintegrować je ze sobą.
W tym artykule dowiesz się, jak rozpocząć korzystanie ze skryptów w Aplikacjach Google(Google Apps) , jak utworzyć podstawowy skrypt w Arkuszach Google(Google Sheets) do odczytu i zapisu danych w komórkach oraz jak korzystać z najskuteczniejszych zaawansowanych funkcji skryptów w Arkuszach Google .(Google Sheets)
Jak utworzyć skrypt Google Apps(How to Create a Google Apps Script)
Możesz już teraz zacząć tworzyć swój pierwszy skrypt Google Apps z poziomu (Google Apps)Arkuszy Google(Google Sheets) .
Aby to zrobić, wybierz z menu Narzędzia , a następnie (Tools)Edytor skryptów(Script Editor) .
Spowoduje to otwarcie okna edytora skryptów i domyślną funkcję o nazwie myfunction() . Tutaj możesz tworzyć i testować swój skrypt Google(Google Script) .
Aby to zrobić, spróbuj utworzyć funkcję skryptu Arkuszy Google(Google Sheets) , która będzie odczytywać dane z jednej komórki, wykonywać na niej obliczenia i przesyłać ilość danych do innej komórki.
Funkcją pobierania danych z komórki są 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ć tak:
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var row = 2; var col = 1; var data = sheet.getRange(row, col).getValue(); }
To przechowuje wartość z tej komórki w zmiennej danych . (data)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 do zapisania.
Przy pierwszym uruchomieniu nowej funkcji skryptu Arkuszy Google(Google Sheets) , takiej jak ta (poprzez wybranie ikony uruchamiania), musisz podać autoryzację(Authorization) skryptu do uruchomienia na Twoim koncie Google(Google Account) .
Zezwól na kontynuację. Po uruchomieniu skryptu zobaczysz, że skrypt zapisuje wyniki obliczeń w komórce docelowej.
Skoro już wiesz, jak napisać podstawową funkcję skryptu Aplikacji Google(Google Apps) , przyjrzyjmy się bardziej zaawansowanym funkcjom.
Użyj getValues do załadowania tablic(Use getValues To Load Arrays)
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 Aplikacji Google(Google Apps) za pomocą funkcji getValues, zmienna będzie tablicą, która może wczytać wiele wartości z arkusza.
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues();
Zmienna data to wielowymiarowa tablica, która przechowuje 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 zależności od kolumny, z której chcesz pobrać dane.
W naszym przykładowym arkuszu kalkulacyjnym możesz wykonać obliczenia na trzech wierszach 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(Save) i uruchom ten skrypt tak jak powyżej. Zobaczysz, że wszystkie wyniki znajdują się w kolumnie 2 w arkuszu kalkulacyjnym.
Zauważysz, że odwoływanie się do komórki i wiersza w zmiennej tablicowej jest inne niż w przypadku funkcji getRange.
data[i][0] odnosi się do wymiarów tablicy, gdzie pierwszy wymiar to wiersz, a drugi to kolumna. Oba zaczynają się od zera.
getRange(i+1, 2) odnosi się do drugiego wiersza, gdy i=1 (ponieważ wiersz 1 to nagłówek), a 2 to druga kolumna, w której przechowywane są wyniki.
Użyj appendRow, aby zapisać wyniki(Use appendRow To Write Results)
Co zrobić, jeśli masz arkusz kalkulacyjny, w którym chcesz zapisać dane w nowym wierszu zamiast w nowej kolumnie?
Jest to łatwe dzięki funkcji appendRow . Ta funkcja nie zakłóci żadnych istniejących danych w arkuszu. Po prostu doda nowy wiersz do istniejącego arkusza.
Jako przykład utwórz funkcję, która będzie liczyła od 1 do 10 i wyświetlała licznik z wielokrotnością 2 w kolumnie Licznik .(Counter)
Ta funkcja wyglądałaby tak:
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 1; i<11; i++) { var result = i * 2; sheet.appendRow([i,result]); } }
Oto wyniki po uruchomieniu tej funkcji.
Przetwarzaj kanały RSS za pomocą URLFetchApp(Process RSS Feeds With URLFetchApp)
Możesz połączyć poprzednią funkcję skryptu Arkuszy Google i (Google Sheets)URLFetchApp , aby pobrać kanał RSS z dowolnej witryny i napisać wiersz w arkuszu kalkulacyjnym dla każdego artykułu ostatnio opublikowanego w tej witrynie.
Jest to w zasadzie metoda samodzielnego(DIY) tworzenia własnego arkusza kalkulacyjnego czytnika kanałów RSS !(RSS)
Skrypt, który to robi, 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.parse wyciąga każdy element z kanału RSS(RSS) i rozdziela 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 elementu w kanale RSS .
Dane wyjściowe w twoim arkuszu będą wyglądać mniej więcej tak:
Zamiast umieszczać adres URL(URL) kanału RSS w skrypcie, możesz umieścić w arkuszu pole z adresem URL(URL) , a następnie mieć wiele arkuszy – po jednym dla każdej witryny, którą chcesz monitorować.
Połącz ciągi(Concatenate Strings) i dodaj(Add) zwrot karetki(Carriage Return)
Możesz pójść o krok dalej w arkuszu kalkulacyjnym RSS , dodając kilka funkcji manipulacji tekstem, a następnie użyć funkcji poczty e-mail, aby wysłać do siebie wiadomość e-mail z podsumowaniem wszystkich nowych postów w kanale RSS witryny .
Aby to zrobić, pod skryptem, który utworzyłeś w poprzedniej sekcji, będziesz chciał dodać skrypt, który wyodrębni wszystkie informacje z arkusza kalkulacyjnego.
Będziesz chciał zbudować wiersz tematu i treść wiadomości e-mail, analizując razem wszystkie informacje z tej samej tablicy „items”, której użyłeś do zapisania danych RSS w arkuszu kalkulacyjnym.
Aby to zrobić, zainicjuj temat i wiadomość, umieszczając następujące wiersze przed pętlą For „elementy”.
var subject = ‘Latest 10 articles published at mysite.com’
var message = ‘’
Następnie na końcu pętli for „items” (zaraz po funkcji appendRow) dodaj następującą linię.
message = message + title + '\n' + link + '\n' + date + '\n' + desc + '\n' + '\n \n';
Symbol „+” połączy wszystkie cztery elementy razem, a następnie „ ” dla powrotu karetki po każdym wierszu. Na końcu każdego bloku danych tytułu będziesz potrzebować dwóch znaków powrotu 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ć e-mail!
Jak wysłać e-mail w Google Apps Script(How To Send Email In Google Apps Script)
Następną sekcją Twojego skryptu Google(Google Script) będzie wysłanie „tematu” i „treści” pocztą elektroniczną. Zrobienie tego w Google Script jest bardzo łatwe.
var emailAddress = [email protected];
MailApp.sendEmail(emailAddress, subject, message);
MailApp to(MailApp) bardzo wygodna klasa wewnątrz skryptów Aplikacji Google(Google Apps) , która zapewnia dostęp do usługi poczty e-mail konta Google w celu wysyłania i odbierania wiadomości e-mail. Dzięki temu pojedyncza linia z funkcją sendEmail pozwala na wysłanie dowolnego e-maila(send any email) z samym adresem e-mail, wierszem tematu i treścią.
Tak będzie wyglądać otrzymana wiadomość e-mail.
Połączenie możliwości wyodrębniania kanału RSS witryny , przechowywania go w Arkuszu Google(Google Sheet) i wysyłania go do siebie wraz z dołączonymi linkami URL sprawia, że śledzenie najnowszych treści w dowolnej witrynie jest bardzo wygodne.
To tylko jeden przykład możliwości dostępnych w skryptach Aplikacji Google(Google Apps) w zakresie automatyzacji działań i integracji wielu usług w chmurze.
Related posts
4 sposoby konwersji Excela na Arkusze Google
Arkusze Google a Microsoft Excel – jakie są różnice?
Jak usunąć obramowania tabeli w Dokumentach Google
Jak czat w Dokumentach Google ułatwia współpracę przy dokumentach
Jak wstawić znak wodny w programie Word i Dokumentach Google
Jak wyeksportować e-maile z Microsoft Outlook do CSV lub PST
Jak znaleźć i zamienić słowa w MS Word i Google Docs
7 alternatyw dla PowerPointa, których możesz używać online
Jak sortować według daty w programie Excel
Zmień orientację poziomą w Dokumentach Google
Jak naprawić błąd niezdefiniowanej zakładki w programie Word?
Jak korzystać z analizy warunkowej programu Excel
Jak dodać numery slajdów do prezentacji PowerPoint
Jak dodawać przypisy w programie Word
Prezentacje Google a Microsoft PowerPoint – jakie są różnice?
Jak wstawić arkusz programu Excel do dokumentu programu Word?
10 narzędzi do odzyskiwania zgubionego lub zapomnianego hasła PST programu Outlook
Jak wstawić animowany GIF w programie PowerPoint
Jak zmienić domyślną czcionkę w aplikacjach pakietu Office
Microsoft Outlook nie chce się otworzyć? 10 sposobów na naprawę