Menu niestandardowe w Google Workspace

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

Menu niestandardowe w Dokumentach, Arkuszach, Prezentacjach i Formularzach

Apps Script może dodawać nowe menu w Dokumentach, Arkuszach, Prezentacjach i Formularzach, a każdy element menu jest powiązany z funkcją w skrypcie. (W Formularzach menu niestandardowe są widoczne tylko dla edytującego, który otwiera formularz, aby go zmodyfikować, a nie dla użytkownika, który otwiera formularz, aby na niego odpowiedzieć).

Tylko skrypty powiązane mogą tworzyć menu. 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, a następnie separator wizualnypodmenu zawierające kolejny element. Gdy użytkownik wybierze jedną z pozycji menu, odpowiednia funkcja otworzy okno alertu. Więcej informacji o rodzajach okien dialogowych, które możesz otworzyć, znajdziesz w przewodniku po oknach dialogowych i paskach bocznych.

function onOpen() {
  const ui = SpreadsheetApp.getUi();
  // Or DocumentApp, SlidesApp 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, SlidesApp or FormApp.
      .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp 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 lub inny skrypt doda menu o tej samej nazwie, nowe menu zastąpi stare. Menu nie można usunąć, gdy plik jest otwarty, ale możesz napisać funkcję onOpen, aby w przyszłości pominąć menu, jeśli ustawiona jest określona właściwość.

Dodatki do edytora mogą też mieć pozycje menu, ale do ich definiowania stosuje się specjalne reguły.

Klikalne obrazy i rysunki w Arkuszach

Możesz też przypisać funkcję Apps Script do obrazu lub rysunku w Arkuszach, pod warunkiem że skrypt jest powiązany z arkuszem kalkulacyjnym. Poniższy przykład pokazuje, jak to skonfigurować.

  1. W Arkuszach wybierz kolejno Rozszerzenia > Apps Script, aby utworzyć skrypt powiązany z arkuszem kalkulacyjnym.
  2. Usuń cały kod z edytora skryptów i wklej poniższy kod.
function showMessageBox() {
  SpreadsheetApp.getUi().alert('You clicked it!');
}
  1. Wróć do Arkuszy i wstaw obraz lub rysunek, klikając Wstaw > Obraz lub Wstaw > Rysunek.
  2. Po wstawieniu obrazu lub rysunku kliknij go. W prawym górnym rogu pojawi się małe menu wyboru. Kliknij go i wybierz Przypisz skrypt.
  3. W wyświetlonym oknie wpisz nazwę funkcji Apps Script, którą chcesz uruchomić, bez nawiasów – w tym przypadku showMessageBox. Kliknij OK.
  4. Ponownie kliknij obraz lub rysunek. Funkcja zostanie wykonana.

Wykonanie skryptu jest wywoływane tylko przez kliknięcie obrazu lub rysowanie w przeglądarce. Skrypt nie zostanie wykonany, jeśli obraz lub rysunek zostanie kliknięty na urządzeniu mobilnym.