منوهای سفارشی برای افزودنیهای ویرایشگر، منوهای سفارشی برای افزودنیهای ویرایشگر
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
افزونههای منتشر شدهی ویرایشگر میتوانند آیتمهای منوی سفارشی را در زیر منوی افزونههای ویرایشگر خود ایجاد کنند. با استفاده از Ui.createAddonMenu یک منوی افزونه وارد کنید و با Menu.addItem آیتمهایی را به آن اضافه کنید. منوها معمولاً در متد onOpen افزونه ایجاد میشوند.
منوهای پویایی ایجاد کنید که بر اساس تعاملات کاربر یا وضعیت افزونه تغییر میکنند. با این حال، افزونهها باید قبل از اینکه توسط کاربر تأیید شوند، یک منوی اولیه ایجاد کنند. به همین دلیل، قبل از ساخت منوها در onOpen ، حالت تأیید افزونه را بررسی کنید. در حالی که افزونه در ScriptApp.AuthMode.NONE است، هیچ اقدامی که نیاز به تأیید دارد (مانند بررسی Properties اسکریپت) انجام ندهید. برای جزئیات بیشتر در مورد حالتها و چرخه تأیید، به چرخه تأیید مراجعه کنید.
تلاش برای انجام اقداماتی که نیاز به مجوز دارند در حالی که حالت مجوز ScriptApp.AuthMode.NONE است، منجر به خطا میشود. این ممکن است مانع از نمایش منوهای افزونه شما شود.
مثال زیر نحوه ساخت یک منوی افزونه پویا برای حالتهای مختلف مجوز را نشان میدهد:
functiononOpen(e){// Or DocumentApp, SlidesApp, or FormApp.varmenu=SpreadsheetApp.getUi().createAddonMenu();if(e && e.authMode==ScriptApp.AuthMode.NONE){// Add a normal menu item (works in all authorization modes).menu.addItem('Start workflow','startWorkflow');}else{// Add a menu item based on properties (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');}// Record analytics.UrlFetchApp.fetch('http://www.example.com/analytics?event=open');}menu.addToUi();}
تاریخ آخرین بهروزرسانی 2026-08-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"]],["تاریخ آخرین بهروزرسانی 2026-08-05 بهوقت ساعت هماهنگ جهانی."],[],["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"]]