Menu niestandardowe w Google Workspace

Skrypty mogą rozszerzać niektóre usługi Google przez dodawanie elementów interfejsu, które po kliknięciu uruchamiają funkcję Apps Script. Najczęstszym przykładem jest uruchomienie skryptu przy użyciu niestandardowego elementu menu w Dokumentach, Arkuszach, Prezentacjach lub Formularzach Google, ale funkcje skryptu można też aktywować przez klikanie obrazów i rysunków w Arkuszach Google.

Menu niestandardowe w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google

Apps Script może dodawać nowe menu w Dokumentach, Arkuszach, Prezentacjach i Formularzach Google, a każdy element menu jest powiązany z funkcją w skrypcie. (W Formularzach Google menu niestandardowe są widoczne tylko dla edytującego, który otwiera formularz w celu jego modyfikacji. Nie są one widoczne dla użytkownika, który 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, napisz kod menu w funkcji onOpen().

Poniższy przykład pokazuje, jak dodać menu z jednym elementem, separatorem wizualnym oraz menu podrzędne zawierające kolejny element. (Pamiętaj, że w Arkuszach Google musisz używać składni addMenu(), chyba że używasz nowej wersji. Menu podrzędne są niedostępne). Gdy użytkownik wybierze którąkolwiek z tych pozycji w menu, odpowiednia funkcja otworzy okno alertu. Więcej informacji o typach okien, które można otwierać, znajdziesz w przewodniku po oknach 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 o podanej nazwie. Jeśli ten sam skrypt lub inny skrypt doda menu o tej samej nazwie, nowe menu zastąpi stare. Menu nie można usuwać, gdy plik jest otwarty, ale można utworzyć funkcję onOpen(), aby w przyszłości pomijać menu, jeśli jest ustawiona określona 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 skrypt jest powiązany z tym arkuszem kalkulacyjnym. Przykład poniżej pokazuje, jak to zrobić.

  1. W Arkuszach Google wybierz pozycję menu Rozszerzenia > Apps Script, aby utworzyć skrypt 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. W prawym górnym rogu pojawi się mały selektor menu. Kliknij ją i wybierz Przypisz skrypt.

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

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