Rozszerzenie Arkuszy Google

Google Apps Script umożliwia wykonywanie nowych i fajnych zadań w Arkuszach Google. Dostępne opcje użyj Apps Script, aby dodać niestandardowe menu, okna i pasków bocznych w Arkuszach Google. Dodatkowo umożliwia pisanie funkcji niestandardowych Arkuszy oraz integracji z innymi usługami usług Google takich jak Kalendarz, Dysk czy Gmail;

Większość skryptów przeznaczonych dla Arkuszy Google manipuluje tablicami, aby interakcję z komórkami, wierszami i kolumnami arkusza kalkulacyjnego; Jeśli nie jesteś znane z tablic w JavaScripcie, Codecademy oferuje doskonały moduł szkoleniowy do obsługi tablic. (kurs ten nie został stworzony przez Google i nie jest z nim powiązany).

Aby szybko zapoznać się z używaniem Apps Script w Arkuszach Google, zobacz 5-minutowy przewodnik dla początkujących Makra, menu i funkcje niestandardowe.

Rozpocznij

Apps Script zawiera specjalne interfejsy API, które umożliwiają programowe tworzenie, odczytywanie edytuj Arkusze Google. Apps Script może współdziałać z Arkuszami Google na 2 ogólne sposób: każdy skrypt może utworzyć lub zmodyfikować arkusz kalkulacyjny, jeśli użytkownik odpowiednie uprawnienia do arkusza kalkulacyjnego, a skrypt może być powiązane z arkuszem kalkulacyjnym, nadaje skryptowi specjalne uprawnienia do zmiany interfejsu użytkownika lub zareagowania, gdy arkusz kalkulacyjny zostanie otwarty. Aby utworzyć powiązany skrypt, w Arkuszach Google kliknij Rozszerzenia > Apps Script.

Usługa arkuszy kalkulacyjnych traktuje Arkusze Google jako siatkę, która działa z tablicami dwuwymiarowymi. Aby pobrać dane: musisz mieć dostęp do arkusza kalkulacyjnego, w którym zapisz zakres w arkuszu kalkulacyjnym, który zawiera te dane, a następnie pobierz wartości komórek. Apps Script ułatwia dostęp do danych, odczytując uporządkowane dane w arkuszu kalkulacyjnym i tworząc dla nich obiekty JavaScript.

Odczyt danych

Załóżmy, że masz listę nazw i numerów produktów przechowywaną w arkuszu kalkulacyjnym, jak na obrazku poniżej.

Przykład poniżej pokazuje, jak pobrać i zapisać nazwy i usługi usług liczby.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

Wyświetl logi

Aby wyświetlić zarejestrowane dane, u góry edytora skryptów kliknij Dziennik wykonywania

Zapisuję dane

Aby przechowywać dane, takie jak nowa nazwa i numer produktu, w dodaj poniższy kod na końcu skryptu.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

Powyższy kod dodaje na dole arkusza kalkulacyjnego nowy wiersz, w którym określonych wartości. Po uruchomieniu tej funkcji zobaczysz nowy wiersz dodany do arkusz kalkulacyjny.

Niestandardowe menu i interfejsy

Arkusze Google można dostosowywać, dodając niestandardowe menu, okna dialogowe i na pasku bocznym. Podstawy tworzenia menu znajdziesz w przewodniku po menu. Aby dowiedzieć się więcej o dostosowywaniu zawartość okna dialogowego, zobacz przewodnika po usłudze HTML.

Funkcję skryptu możesz też dołączyć do obrazu lub rysunku w arkuszu kalkulacyjnym. Funkcja zostanie wykonana, gdy użytkownik kliknie obraz lub rysunek. Więcej informacji znajdziesz w artykule Obrazy i rysunki w Arkuszach Google.

Jeśli planujesz opublikować swój interfejs w ramach dodatek, wykonaj wskazówki redakcyjne dotyczące spójności stylu i układu edytora Arkuszy Google.

Łączenie z Formularzami Google

Apps Script umożliwia łączenie Formularzy Google z Arkuszami Google Formularzach oraz Usługi arkuszy kalkulacyjnych. Ta funkcja może automatycznie utworzyć Formularz Google na podstawie danych z arkusza kalkulacyjnego. Apps Script umożliwia też używanie reguł, takich jak: onFormSubmit, aby wykonać określone działanie po wypełnieniu formularza przez użytkownika. Więcej informacji o łączeniu Arkuszy Google z Formularzami Google znajdziesz w artykule Zarządzanie Odpowiedzi w Formularzach Google – krótkie wprowadzenie (5 minut).

Format

Klasa Range ma metody takie jak setBackground(color) aby otworzyć komórkę lub zakres komórek i zmienić ich format. Poniżej pokazuje, jak ustawić styl czcionki zakresu:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

Walidacja danych

Apps Script umożliwia dostęp do istniejących reguł weryfikacji danych w Arkuszach Google lub utworzyć nowe reguły. Z tego przykładu dowiesz się, jak ustawić reguła sprawdzania poprawności danych, która dopuszcza w komórce tylko liczby od 1 do 100.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

Więcej informacji o pracy z regułami weryfikacji danych znajdziesz w artykule SpreadsheetApp.newDataValidation() DataValidationBuilder, i Range.setDataValidation(rule)

Wykresy

Apps Script umożliwia umieszczanie w arkuszu kalkulacyjnym wykresów przedstawiających dane w dla konkretnego zakresu. Poniższy przykład generuje osadzony wykres słupkowy przy założeniu, masz dane, które można wyświetlić na wykresie w komórkach A1:B15:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

Aby dowiedzieć się więcej o umieszczaniu wykresu w arkuszu kalkulacyjnym, zobacz EmbeddedChart i konkretnych narzędzi do tworzenia wykresów, takich jak EmbeddedPieChartBuilder

Funkcje niestandardowe w Arkuszach Google

Funkcja niestandardowa jest podobna do funkcji arkusza kalkulacyjnego, np. =SUM(A1:A5), z tą różnicą, że zachowanie funkcji w Apps Script. Można na przykład utworzyć niestandardową funkcji in2mm(), która konwertuje wartość z cali na milimetry, a następnie użyj wpisz formułę w arkuszu kalkulacyjnym, wpisując =in2mm(A1) lub =in2mm(10) w komórki.

Aby dowiedzieć się więcej o funkcjach niestandardowych, wypróbuj Menu i funkcje niestandardowe 5-minutowe krótkie wprowadzenie lub przegląd szczegółów przewodnika po funkcjach niestandardowych.

Makra

Makra to kolejny sposób wykonywania kodu Apps Script w interfejsie Arkuszy Google. W przeciwieństwie do funkcji niestandardowych możesz je aktywować skrótem klawiszowym lub w menu Arkuszy Google. Więcej informacji znajdziesz w artykule Makra w Arkuszach Google.

Dodatki do Arkuszy Google

Dodatki to specjalnie pakiety Apps Script projekty, które działają w Arkuszach Google i można je instalować; w sklepie z dodatkami do Arkuszy Google. Jeśli masz skrypt dla Arkuszy Google i chcesz ją udostępnić światu, Apps Script umożliwia opublikuj skrypt jako aby inni użytkownicy mogli go zainstalować ze sklepu z dodatkami.

Reguły

skrypty powiązane z plikiem Arkuszy Google, można używać prostych aktywatorów, takich jak funkcje onOpen() i onEdit(), aby automatycznie odpowiadać, gdy użytkownik, który edytował plik, dostęp do arkusza kalkulacyjnego powoduje otwarcie lub edytowanie arkusza kalkulacyjnego.

Podobnie jak w przypadku prostych reguł, reguły instalacyjne, które umożliwiają Arkuszom Google automatycznego uruchamiania funkcji po wystąpieniu określonego zdarzenia. Możliwa do zainstalowania wyzwalacze dają jednak większą elastyczność niż proste reguły i wsparcie, następujące zdarzenia: otwarcie, edycja, zmiana, przesłanie formularza i przesunięcie na czas (zegar).