Düzenleyici eklentileri için özel menüler
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Yayınlanmış Düzenleyici eklentileri, düzenleyicilerinin Uzantılar menüsünde özel menü öğeleri oluşturabilir. Ui.createAddonMenu kullanarak bir eklenti menüsü ekleyin ve Menu.addItem ile bu menüye öğeler ekleyin. Menüler genellikle eklentinin onOpen yönteminde oluşturulur.
Kullanıcı etkileşimlerine veya eklenti durumuna göre değişen dinamik menüler oluşturun. Ancak eklentiler, kullanıcı tarafından yetkilendirilmeden önce ilk menüyü oluşturmalıdır. Bu nedenle, onOpen'da menü oluşturmadan önce eklentinin yetkilendirme modunu kontrol edin. Eklenti ScriptApp.AuthMode.NONE durumundayken yetkilendirme gerektiren herhangi bir işlem (ör. komut dosyası Properties kontrolü) yapmayın. Yetkilendirme modları ve yaşam döngüsü hakkında daha fazla bilgi için yetkilendirme yaşam döngüsü başlıklı makaleyi inceleyin.
Yetkilendirme modu ScriptApp.AuthMode.NONE olduğunda yetkilendirme gerektiren işlemleri yapmaya çalışmak hataya neden olur. Bu durum, eklenti menülerinizin gösterilmesini engelleyebilir.
Aşağıdaki örnekte, farklı yetkilendirme modları için dinamik bir eklenti menüsünün nasıl oluşturulacağı gösterilmektedir:
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();}
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2026-04-01 UTC."],[],["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"]]