Menu niestandardowe w Google Workspace

Skrypty mogą rozszerzać niektóre usługi Google przez dodawanie elementów interfejsu użytkownika, które po kliknięciu uruchamiają funkcję Apps Script. Najczęstszym przykładem jest uruchomienie skryptu z niestandardowego elementu menu w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google, ale funkcje skryptów można też wywoływać, klikając obrazy i rysunki w Arkuszach Google.

Niestandardowe menu w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google

Apps Script umożliwia dodawanie nowych menu w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google, a każda pozycja menu jest powiązana z funkcją w skrypcie. W Formularzach Google menu niestandardowe są widoczne tylko dla osoby edytującej, która otworzy formularz, aby go zmodyfikować. Nie jest on widoczny dla użytkownika, który otworzy formularz w celu odpowiedzi.

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

Poniższy przykład pokazuje, jak dodać menu z 1 elementem, separatorem wizualnym i menu podrzędnym, które zawiera kolejny element. W Arkuszach Google, chyba że korzystasz z nowej wersji, musisz użyć składni addMenu(). Nie można korzystać z menu podrzędnych. Gdy użytkownik wybierze którąś z tych opcji, odpowiednia funkcja otworzy okno alertu. Więcej informacji o typach okien, które możesz otwierać, 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 i formularz mogą zawierać tylko jedno menu o podanej nazwie. Jeśli ten sam skrypt lub inny skrypt doda menu o tej samej nazwie, stare menu zostanie zastąpione nowym. Nie można usuwać menu, gdy plik jest otwarty. Możesz jednak napisać funkcję onOpen(), aby w przyszłości pominąć menu, jeśli skonfigurowana jest konkretna właściwość.

Obrazy i rysunki, które można klikać w Arkuszach Google

Funkcję Apps Script możesz też przypisać do obrazu lub rysunku w Arkuszach Google, o ile skrypt jest powiązany z arkuszem kalkulacyjnym. Przykład poniżej pokazuje, jak to skonfigurować.

  1. W Arkuszach Google wybierz pozycję Rozszerzenia > Apps Script, aby utworzyć skrypt powiązany z arkuszem kalkulacyjnym.
  2. Usuń cały 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, wybierając Wstaw > Obraz lub Wstaw > Rysunek.

  4. Po wstawieniu obrazu lub rysunku kliknij go. W prawym górnym rogu pojawi się mały 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 jest to showMessageBox. Kliknij OK.

  6. Ponownie kliknij obraz lub rysunek. Funkcja zostanie wykonana.