Krótkie wprowadzenie: dodatek do paska postępu w Prezentacjach Google

Wykonaj czynności opisane na tej stronie, a po około 5 minutach utworzysz dodatek do Prezentacji Google, który doda pasek postępu do prezentacji. Więcej informacji o tym dodatku do Prezentacji i o jego działaniu znajdziesz w filmie po prawej stronie.

Skonfiguruj

  1. Utwórz nową prezentację Google.
  2. W nowej prezentacji wybierz pozycję menu Narzędzia > Edytor skryptów. Jeśli wyświetli się ekran powitalny, kliknij Pusty projekt.
  3. Usuń dowolny kod w edytorze skryptów i zmień nazwę Code.gs na progress.gs.

    slajdy/postępy/postęp
    /**
     * @OnlyCurrentDoc Adds progress bars to a presentation.
     */
    const BAR_ID = 'PROGRESS_BAR_ID';
    const BAR_HEIGHT = 10; // px
    
    /**
     * Runs when the add-on is installed.
     * @param {object} e The event parameter for a simple onInstall trigger. To
     *     determine which authorization mode (ScriptApp.AuthMode) the trigger is
     *     running in, inspect e.authMode. (In practice, onInstall triggers always
     *     run in AuthMode.FULL, but onOpen triggers may be AuthMode.LIMITED or
     *     AuthMode.NONE.)
     */
    function onInstall(e) {
      onOpen();
    }
    
    /**
     * Trigger for opening a presentation.
     * @param {object} e The onOpen event.
     */
    function onOpen(e) {
      SlidesApp.getUi().createAddonMenu()
          .addItem('Show progress bar', 'createBars')
          .addItem('Hide progress bar', 'deleteBars')
          .addToUi();
    }
    
    /**
     * Create a rectangle on every slide with different bar widths.
     */
    function createBars() {
      deleteBars(); // Delete any existing progress bars
      const presentation = SlidesApp.getActivePresentation();
      const slides = presentation.getSlides();
      for (let i = 0; i < slides.length; ++i) {
        const ratioComplete = (i / (slides.length - 1));
        const x = 0;
        const y = presentation.getPageHeight() - BAR_HEIGHT;
        const barWidth = presentation.getPageWidth() * ratioComplete;
        if (barWidth > 0) {
          const bar = slides[i].insertShape(SlidesApp.ShapeType.RECTANGLE, x, y,
              barWidth, BAR_HEIGHT);
          bar.getBorder().setTransparent();
          bar.setLinkUrl(BAR_ID);
        }
      }
    }
    
    /**
     * Deletes all progress bar rectangles.
     */
    function deleteBars() {
      const presentation = SlidesApp.getActivePresentation();
      const slides = presentation.getSlides();
      for (let i = 0; i < slides.length; ++i) {
        const elements = slides[i].getPageElements();
        for (const el of elements) {
          if (el.getPageElementType() === SlidesApp.PageElementType.SHAPE &&
            el.asShape().getLink() &&
            el.asShape().getLink().getUrl() === BAR_ID) {
            el.remove();
          }
        }
      }
    }
  1. Wybierz element menu Plik > Zapisz wszystko. Nazwij nowy skrypt „Szybki start” na pasku postępu i kliknij OK. Nazwa skryptu jest wyświetlana użytkownikom w kilku miejscach, w tym w oknie autoryzacji.

Wypróbuj

  1. Wróć do prezentacji i odśwież stronę.
  2. Po kilku sekundach w menu Dodatki pojawi się menu podrzędne ProgressBar. Kliknij Dodatki > ProgressPasek > Pokaż pasek postępu.
  3. Okno wskazuje, że skrypt wymaga autoryzacji. Kliknij Dalej. Drugie okno zawiera prośbę o autoryzację określonych usług Google. Kliknij Zezwól.
  4. Pojawi się pasek postępu. Aby usunąć pasek postępu, kliknij Dodatki >ProgressPasek > Ukryj pasek postępu.

Opublikuj

Jest to przykładowy dodatek, więc na tym kończę nasz samouczek. Gdy tworzysz nowy dodatek, ostatnim krokiem jest opublikowanie go przez innych użytkowników.

Więcej informacji

Aby dowiedzieć się więcej o uzupełnianiu Prezentacji Google o Apps Script, zapoznaj się z tymi materiałami: