Trình đơn tuỳ chỉnh cho Tiện ích bổ sung dành cho trình chỉnh sửa

Đã phát hành Tiện ích bổ sung dành cho trình chỉnh sửa có thể tạo các mục tuỳ chỉnh trong trình đơn trong trình đơn Tiện ích của trình chỉnh sửa. Bạn có thể để chèn trình đơn tiện ích bổ sung bằng cách sử dụng Phương thức Ui.createAddonMenu() và thêm các mục vào đó bằng cách sử dụng Menu.addItem() . Trình đơn thường được tạo bằng phương thức onOpen(e) của tiện ích bổ sung.

Bạn có thể tạo trình đơn động và có thể thay đổi theo tương tác của người dùng hoặc tiện ích bổ sung trạng thái. Tuy nhiên, tiện ích bổ sung phải tạo trình đơn ban đầu trước khi tiện ích bổ sung được được người dùng uỷ quyền. Do đó, bạn phải kiểm tra chế độ uỷ quyền trước khi tạo trình đơn trong onOpen(e). Đừng tìm cách thực hiện bất kỳ hành động nào yêu cầu uỷ quyền (chẳng hạn như kiểm tra tập lệnh Properties) còn tiện ích bổ sung nằm trong ScriptApp.AuthMode.NONE. Xem vòng đời uỷ quyền để biết thêm chi tiết về các chế độ uỷ quyền và vòng đời.

Ví dụ sau đây trình bày cách xây dựng trình đơn tiện ích bổ sung linh động cho các chế độ uỷ quyền:

function onOpen(e) {
  var menu = SpreadsheetApp.getUi().createAddonMenu(); // Or DocumentApp or SlidesApp or FormApp.
  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).
    var properties = PropertiesService.getDocumentProperties();
    var workflowStarted = 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();
}