با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
سطح کدنویسی : متوسط مدت زمان : 15 دقیقه نوع پروژه : افزونه ویرایشگر
اهداف
درک کنید که راه حل چه کاری انجام می دهد.
آنچه را که سرویس های Apps Script در راه حل انجام می دهند، بدانید.
اسکریپت را تنظیم کنید
اسکریپت را اجرا کنید.
در مورد این راه حل
از این راه حل برای اضافه کردن نوار پیشرفت به پایین اسلایدهای ارائه خود استفاده کنید.
چگونه کار می کند
اسکریپت تعداد اسلایدهای ارائه را محاسبه می کند و یک شکل مستطیل به پایین هر اسلاید اضافه می کند. اسکریپت عرض را برای هر شکل مستطیل افزایش می دهد تا پیشرفت را در اسلایدها نشان دهد.
خدمات اسکریپت برنامه ها
این راه حل از سرویس زیر استفاده می کند:
سرویس اسلاید - اسلایدهای ارائه را دریافت می کند و به هر یک یک شکل مستطیل اضافه می کند.
پیش نیازها
برای استفاده از این نمونه به پیش نیازهای زیر نیاز دارید:
یک حساب Google (حسابهای Google Workspace ممکن است به تأیید سرپرست نیاز داشته باشند).
یک مرورگر وب با دسترسی به اینترنت.
اسکریپت را تنظیم کنید
روی دکمه زیر کلیک کنید تا یک کپی از نمایش اسلایدهای نوار پیشرفت ایجاد کنید. پروژه Apps Script برای این راه حل به ارائه پیوست شده است. یک کپی تهیه کنید
در ارائه، روی برنامههای افزودنی>نوار پیشرفت>نمایش نوار پیشرفت کلیک کنید.
وقتی از شما خواسته شد، اسکریپت را مجاز کنید. اگر صفحه رضایت OAuth اخطار را نشان میدهد، این برنامه تأیید نشده است ، با انتخاب پیشرفته>رفتن به {Project Name} (ناامن) ادامه دهید.
مجدداً روی برنامههای افزودنی>نوار پیشرفت>نمایش نوار پیشرفت کلیک کنید.
برای حذف نوار پیشرفت، روی برنامههای افزودنی>نوار پیشرفت>پنهان کردن نوار پیشرفت کلیک کنید.
کد را مرور کنید
برای بررسی کد Apps Script برای این راه حل، روی مشاهده کد منبع در زیر کلیک کنید:
/** * @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('Showprogressbar','createBars').addItem('Hideprogressbar','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();}}}}
مشارکت کنندگان
این نمونه توسط گوگل با کمک کارشناسان توسعه دهنده گوگل نگهداری می شود.
تاریخ آخرین بهروزرسانی 2025-06-05 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-06-05 بهوقت ساعت هماهنگ جهانی."],[[["This Google Apps Script solution adds a progress bar to the bottom of Google Slides presentations to visually track progress through the slides."],["The script uses the Slides service to calculate the number of slides, add a rectangle shape to each slide, and dynamically adjust the rectangle's width to represent progress."],["Users can easily install the script by making a copy of the provided presentation and authorizing the script to access their Google Slides."],["The progress bar can be shown or hidden using the \"Progress bar\" menu found under \"Extensions\" in Google Slides after installation."],["Developers can review and modify the source code, which is publicly available on GitHub, for customization or further development."]]],["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"]]