Pokazywanie pasków postępu w prezentacji Google
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Poziom kodowania: średnio zaawansowany Czas trwania: 15 minut Typ projektu: dodatek do edytora
Cele
Poznanie działania rozwiązania.
Poznanie działania usług Apps Script w ramach rozwiązania.
Skonfigurowanie skryptu.
Uruchomienie skryptu.
Informacje o rozwiązaniu
Użyj tego rozwiązania, aby dodać pasek postępu u dołu slajdów w prezentacji.
Jak to działa
Skrypt oblicza, ile slajdów znajduje się w prezentacji, i dodaje prostokąt u dołu każdego slajdu. Skrypt zwiększa szerokość każdego prostokąta, aby pokazać postęp na slajdach.
Usługi Apps Script
To rozwiązanie korzysta z tej usługi:
Usługa Slides:
pobiera slajdy prezentacji i dodaje do każdego z nich prostokąt.
Wymagania wstępne
Aby użyć tego przykładu, musisz spełnić te wymagania wstępne:
Konto Google (w przypadku kont Google Workspace może być wymagana zgoda administratora).
Przeglądarka internetowa z dostępem do internetu.
Konfigurowanie skryptu
Kliknij ten przycisk, aby utworzyć kopię prezentacji Pasek postępu w Prezentacjach Google. Projekt Apps Script dla tego rozwiązania jest dołączony do prezentacji.
Utwórz kopię
W prezentacji kliknij Rozszerzenia>Pasek postępu>Pokaż pasek postępu.
Gdy pojawi się prośba, autoryzuj skrypt.
Jeśli na ekranie zgody OAuth pojawi się ostrzeżenie Ta aplikacja nie jest zweryfikowana,
kliknij Zaawansowane>Otwórz {Nazwa projektu} (niebezpieczne).
Ponownie kliknij Rozszerzenia>Pasek postępu>Pokaż pasek postępu.
Aby usunąć pasek postępu, kliknij Rozszerzenia>Pasek postępu>Ukryj pasek postępu.
Sprawdzanie kodu
Aby sprawdzić kod Apps Script dla tego rozwiązania, kliknij
Pokaż kod źródłowy:
/** * @OnlyCurrentDoc Adds progress bars to a presentation. */constBAR_ID="PROGRESS_BAR_ID";constBAR_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.) */functiononInstall(e){onOpen();}/** * Trigger for opening a presentation. * @param {object} e The onOpen event. */functiononOpen(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. */functioncreateBars(){deleteBars();// Delete any existing progress barsconstpresentation=SlidesApp.getActivePresentation();constslides=presentation.getSlides();for(leti=0;i < slides.length;++i){constratioComplete=i/(slides.length-1);constx=0;consty=presentation.getPageHeight()-BAR_HEIGHT;constbarWidth=presentation.getPageWidth()*ratioComplete;if(barWidth > 0){constbar=slides[i].insertShape(SlidesApp.ShapeType.RECTANGLE,x,y,barWidth,BAR_HEIGHT,);bar.getBorder().setTransparent();bar.setLinkUrl(BAR_ID);}}}/** * Deletes all progress bar rectangles. */functiondeleteBars(){constpresentation=SlidesApp.getActivePresentation();constslides=presentation.getSlides();for(leti=0;i < slides.length;++i){constelements=slides[i].getPageElements();for(constelofelements){if(el.getPageElementType()===SlidesApp.PageElementType.SHAPE&&
el.asShape().getLink()&&
el.asShape().getLink().getUrl()===BAR_ID){el.remove();}}}}
Współtwórcy
Ten przykład jest utrzymywany przez Google przy pomocy ekspertów Google ds. technologii.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2026-09-14 UTC."],[],["This solution adds a progress bar to Google Slides presentations using Apps Script. The script calculates the total slides and adds a rectangle to the bottom of each slide, increasing the rectangle's width to visually represent progress. Users copy a sample presentation, authorize the script, and then run it to create or remove the progress bars via the \"Extensions\" menu. It utilizes the Slides service to manipulate slides and shapes, adding and deleting these elements.\n"]]