Menu niestandardowe w Google Workspace

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Skrypty mogą rozszerzać niektóre usługi Google przez dodawanie elementów interfejsu, których kliknięcie powoduje wykonanie funkcji Apps Script. Najpopularniejszym przykładem jest uruchomienie skryptu z pozycji niestandardowego menu w Dokumentach, Arkuszach, Prezentacjach lub Formularzach Google, ale funkcje skryptu można też wywołać, klikając obrazy i rysunki w Arkuszach Google.

menu niestandardowe w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google.

Apps Script umożliwia dodawanie nowych menu w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google, przy czym każda pozycja menu jest powiązana z funkcją w skrypcie. W Formularzach Google menu niestandardowe są widoczne tylko dla edytora, który otwiera formularz w celu ich modyfikacji – nie jest dostępny dla użytkownika, który otworzy formularz.

Skrypt może utworzyć menu tylko wtedy, gdy jest powiązane z dokumentem, arkuszem kalkulacyjnym lub formularzem. Aby wyświetlić menu, gdy użytkownik otworzy plik, wpisz kod menu w funkcji onOpen().

Poniższy przykład pokazuje, jak dodać menu z jednym elementem, a po nim separator wizualny i podmenu, które zawiera kolejny element. (Pamiętaj, że jeśli korzystasz z nowej wersji Arkuszy Google, musisz zamiast niej korzystać ze składni addMenu(), a menu podrzędne nie są dostępne). Gdy użytkownik wybierze jedną z opcji menu, odpowiednia funkcja otworzy okno alertu. Więcej informacji na temat typów otwieranych okien znajdziesz w przewodniku po oknach i paskach bocznych.

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
     .alert('You clicked the second menu item!');
}

Dokument, arkusz kalkulacyjny, prezentacja lub formularz może zawierać tylko jedno menu o danej nazwie. Jeśli ten sam skrypt lub inny skrypt doda menu o tej samej nazwie, nowe menu zastąpi stare. Nie można usuwać menu, gdy plik jest otwarty, ale można zapisać funkcję onOpen(), aby w przyszłości pominąć menu, jeśli ustawiona jest usługa.

Klikalne obrazy i rysunki w Arkuszach Google

Możesz też przypisać funkcję Apps Script do obrazu lub rysunku w Arkuszach Google, o ile będzie on powiązany z arkuszem kalkulacyjnym. Poniższy przykład pokazuje, jak to skonfigurować.

  1. W Arkuszach Google wybierz z menu pozycję Rozszerzenia > Apps Script, aby utworzyć skrypt powiązany z danym arkuszem.
  2. Usuń dowolny kod z edytora skryptów i wklej go poniżej.

      function showMessageBox() {
        Browser.msgBox('You clicked it!');
      }
    
  3. Wróć do Arkuszy i wstaw obraz lub rysunek, klikając Wstaw > Obraz lub Wstaw > Rysunek.

  4. Po wstawieniu obrazu lub rysunku kliknij go. W prawym górnym rogu pojawi się małe selektor menu. Kliknij ją i wybierz Przypisz skrypt.

  5. W wyświetlonym oknie wpisz nazwę funkcji Apps Script, którą chcesz uruchomić, bez nawiasów (w tym przypadku: showMessageBox). Kliknij OK.

  6. Kliknij obraz lub rysunek ponownie. Funkcja zostanie teraz wykonana.

Możesz też przypisać funkcję Apps Script do linku w Witrynach Google, o ile skrypt jest powiązany z witryną. Przykład poniżej pokazuje, jak to zrobić.

  1. Na stronie w Witrynach Google kliknij Więcej > Zarządzaj witryną.
  2. Na pasku bocznym kliknij Skrypty aplikacji, a następnie Dodaj nowy skrypt, aby utworzyć skrypt powiązany z witryną.
  3. Usuń dowolny kod w edytorze skryptów i wklej poniższy kod, który wyśle e-maila, gdy użytkownik kliknie link.

      function sitesLink() {
        var recipient = Session.getActiveUser().getEmail();
        GmailApp.sendEmail(recipient, 'Email from your site', 'You clicked a link!');
      }
    
  4. Wróć do Witryny Google i edytuj stronę. Wpisz etykietę, która stanie się linkiem, np. Click me, a następnie zaznacz tekst i wybierz Wstaw > Link.

  5. W wyświetlonym oknie kliknij Apps Script i wybierz nowo utworzoną funkcję sitesLink. Kliknij OK.

  6. Kliknij Zapisz u góry strony.

  7. Kliknij link dodany do strony.

  8. Pojawi się okno z informacją, że skrypt wymaga autoryzacji. Kliknij OK. Następnie pojawi się drugie okno, w którym poprosimy o autoryzację dostępu do określonych usług Google. Uważnie przeczytaj powiadomienie, kliknij Zezwól, a potem kliknij Zamknij.

  9. Teraz gdy skrypt jest autoryzowany, ponownie kliknij link dodany do strony. Funkcja zostanie teraz wykonana. Sprawdź pocztę e-mail, aby zobaczyć wysłanego przez siebie e-maila.