קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
תוספים לעורכים שפורסמו יכולים ליצור פריטים מותאמים אישית בתפריט Extensions (תוספים) של העורכים שלהם. אפשר להוסיף תפריט של תוספים באמצעות השיטה Ui.createAddonMenu() ולהוסיף אליו פריטים באמצעות השיטה Menu.addItem(). בדרך כלל, תפריטים נוצרים בשיטה onOpen(e) של התוסף.
אפשר ליצור תפריטים דינמיים שמשתנים בהתאם לאינטראקציות של המשתמשים או למצב התוסף. עם זאת, תוספים חייבים ליצור תפריט ראשוני לפני שהמשתמש נותן הרשאה לתוסף. לכן, עליכם לבדוק את מצב ההרשאה של התוסף לפני יצירת תפריטים ב-onOpen(e). אל תנסו לבצע פעולה כלשהי שדורשת הרשאה (כמו בדיקת הסקריפט Properties) בזמן שהתוסף נמצא בסטטוס ScriptApp.AuthMode.NONE. למידע נוסף על מצבי ההרשאה ועל מחזור החיים שלהם, ראו מחזור החיים של הרשאות.
בדוגמה הבאה מוסבר איך ליצור תפריט דינמי של תוספים למצבי הרשאה שונים:
functiononOpen(e){varmenu=SpreadsheetApp.getUi().createAddonMenu();//OrDocumentApporSlidesApporFormApp.if(e && e.authMode==ScriptApp.AuthMode.NONE){//Addanormalmenuitem(worksinallauthorizationmodes).menu.addItem('Start workflow','startWorkflow');}else{//Addamenuitembasedonproperties(doesn't work in AuthMode.NONE).varproperties=PropertiesService.getDocumentProperties();varworkflowStarted=properties.getProperty('workflowStarted');if(workflowStarted){menu.addItem('Check workflow status','checkWorkflow');}else{menu.addItem('Start workflow','startWorkflow');}//Recordanalytics.UrlFetchApp.fetch('http://www.example.com/analytics?event=open');}menu.addToUi();}
[[["התוכן קל להבנה","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"]],["עדכון אחרון: 2024-12-18 (שעון UTC)."],[[["Published Editor Add-ons can create custom menu items under the Extensions menu using `Ui.createAddonMenu()` and `Menu.addItem()`, typically within the add-on's `onOpen(e)` method."],["While unpublished add-ons can create top-level menus, it's recommended to use `Ui.createAddonMenu()` for published add-ons to ensure consistent user experience."],["Add-ons must create an initial menu before user authorization and adjust menu items dynamically based on the authorization mode (`ScriptApp.AuthMode`) to avoid errors."],["The provided example demonstrates building a dynamic add-on menu that adapts to different authorization modes, using `ScriptApp.AuthMode.NONE` to control actions requiring authorization."]]],["Editor add-ons create custom menu items under the **Extensions** menu using `Ui.createAddonMenu()` and `Menu.addItem()`, typically within the `onOpen(e)` method. Menus must be defined *before* user authorization, necessitating a check of the add-on's authorization mode. Dynamic menus can change based on user interactions. Actions requiring authorization should not be performed when `AuthMode.NONE`. The provided example shows a dynamic menu construction for different modes, adding either \"Start workflow\" or \"Check workflow status\".\n"]]