Trình đơn tuỳ chỉnh trong Google Workspace

Tập lệnh có thể mở rộng một số sản phẩm của Google bằng cách thêm các phần tử giao diện người dùng (khi được nhấp vào) sẽ thực thi một chức năng của Apps Script. Ví dụ phổ biến nhất là chạy tập lệnh từ một mục trong trình đơn tuỳ chỉnh trong Google Tài liệu, Trang tính, Trang trình bày hoặc Biểu mẫu. Tuy nhiên, bạn cũng có thể kích hoạt các hàm tập lệnh bằng cách nhấp vào hình ảnh và bản vẽ trong Google Trang tính.

Trình đơn tuỳ chỉnh trong Google Tài liệu, Trang tính, Trang trình bày hoặc Biểu mẫu

Apps Script có thể thêm các trình đơn mới trong Google Tài liệu, Trang tính, Trang trình bày hoặc Biểu mẫu, trong đó mỗi mục trong trình đơn được liên kết với một hàm trong một tập lệnh. (Trong Google Biểu mẫu, các trình đơn tuỳ chỉnh chỉ hiển thị với người chỉnh sửa mở biểu mẫu để sửa đổi chứ không hiển thị với người dùng mở biểu mẫu để trả lời.)

Một tập lệnh chỉ có thể tạo trình đơn nếu trình đơn đó được liên kết với tài liệu, bảng tính hoặc biểu mẫu. Để hiển thị trình đơn khi người dùng mở tệp, hãy viết mã trình đơn trong hàm onOpen().

Ví dụ bên dưới cho thấy cách thêm trình đơn gồm một mục, theo sau là dòng phân cách hình ảnh rồi đến trình đơn phụ chứa một mục khác. (Lưu ý rằng trong Google Trang tính, trừ phi bạn dùng phiên bản mới, bạn phải dùng cú pháp addMenu() và không thể dùng trình đơn phụ.) Khi người dùng chọn một trong hai mục trong trình đơn, một hàm tương ứng sẽ mở hộp thoại cảnh báo. Để biết thêm thông tin về các loại hộp thoại mà bạn có thể mở, hãy xem hướng dẫn về hộp thoại và thanh bên.

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp, SlidesApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the second menu item!');
}

Một tài liệu, bảng tính, bản trình bày hoặc biểu mẫu chỉ có thể chứa một trình đơn với tên cụ thể. Nếu cùng một tập lệnh hoặc một tập lệnh khác thêm một trình đơn có cùng tên, thì trình đơn mới sẽ thay thế trình đơn cũ. Bạn không thể xoá trình đơn khi tệp đang mở, mặc dù bạn có thể viết hàm onOpen() để sau này bỏ qua trình đơn nếu đã đặt một thuộc tính nhất định.

Hình ảnh và bản vẽ có thể nhấp trong Google Trang tính

Bạn cũng có thể chỉ định hàm trong Apps Script cho hình ảnh hoặc bản vẽ trong Google Trang tính, miễn là tập lệnh liên kết với bảng tính. Ví dụ bên dưới cho thấy cách thiết lập chế độ này.

  1. Trong Google Trang tính, hãy chọn mục trong trình đơn Tiện ích > Apps Script để tạo một tập lệnh được liên kết với bảng tính.
  2. Xoá bất kỳ mã nào trong trình chỉnh sửa tập lệnh và dán vào mã bên dưới.

      function showMessageBox() {
        Browser.msgBox('You clicked it!');
      }
    
  3. Quay lại Trang tính rồi chèn hình ảnh hoặc bản vẽ bằng cách chọn Chèn > Hình ảnh hoặc Chèn > Bản vẽ.

  4. Sau khi chèn hình ảnh hoặc bản vẽ, hãy nhấp vào hình ảnh hoặc bản vẽ đó. Một bộ chọn trình đơn thả xuống nhỏ sẽ xuất hiện ở góc trên cùng bên phải. Nhấp vào đó rồi chọn Chỉ định tập lệnh.

  5. Trong hộp thoại xuất hiện, hãy nhập tên của hàm Apps Script mà bạn muốn chạy (không có dấu ngoặc đơn – trong trường hợp này là showMessageBox). Nhấp vào OK.

  6. Nhấp lại vào hình ảnh hoặc bản vẽ. Bây giờ, hàm này sẽ thực thi.