Menu niestandardowe w Google Workspace

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

Menu niestandardowe w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google

Apps Script może dodawać nowe menu w Dokumentach, Arkuszach, Prezentacjach Google, lub Formularze, każda pozycja w menu powiązana z określoną funkcją w skrypcie. (w Formularzach Google menu niestandardowe są widoczne tylko dla edytującego, który otwiera formularz w celu jego modyfikacji. Nie dla użytkowników, którzy otwiera formularz, aby odpowiedzieć).

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, zapisz kod menu w onOpen().

Poniższy przykład pokazuje, jak dodać menu z jednym elementem, a po nim separatorem wizualnym, a potem menu podrzędne, które zawiera kolejny element. (Pamiętaj, że w Arkuszach Google, chyba że używasz nowej wersji, musisz użyć składni addMenu(). Nie można używać menu podrzędnych). Gdy użytkownik wybierze jedną z tych opcji: pozycja menu, odpowiednia funkcja otwiera alert. Więcej informacji o tym, jakie typy okien dialogowych możesz otwierać, znajdziesz w przewodniku po oknach dialogowych i paskach bocznych.

function onOpen() {
  var 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 z konkretne imię. Jeśli ten sam lub inny skrypt dodaje menu z takim samym lub innym nowe menu zastąpi starą. Nie można usunąć menu, podczas gdy plik jest otwarte, ale możesz napisać funkcję onOpen(), aby pominąć menu w przyszłości, jeśli jest ustawiona określona właściwość.

Klikalne obrazy i rysunki w Arkuszach Google

Możesz również przypisać funkcję Apps Script do obrazu lub rysunku w Arkuszach Google. o ile skrypt jest powiązany z arkusz kalkulacyjny. Przykład poniżej pokazuje, jak to zrobić.

  1. W Arkuszach Google wybierz pozycję menu Rozszerzenia >. Apps Script, aby utworzyć powiązany z arkuszem kalkulacyjnym.
  2. Usuń dowolny kod w edytorze 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. Małe menu w prawym górnym rogu. Kliknij go 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 wykonana.