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 nhất định của Google bằng cách thêm các thành phần giao diện người dùng mà khi được nhấp vào sẽ thực thi hàm của Apps Script. Ví dụ phổ biến nhất là chạy tập lệnh từ một mục 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, nhưng các hàm của tập lệnh cũng có thể được kích hoạt bằng cách nhấp vào hình ảnh và bản vẽ trong Google Trang tính.

Các 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 liên kết với một hàm trong tập lệnh. (Trong Google Biểu mẫu, trình đơn tuỳ chỉnh chỉ hiển thị cho người chỉnh sửa mở biểu mẫu để sửa đổi, chứ không phả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ở một tệp, hãy viết mã trình đơn trong hàm onOpen().

Ví dụ bên dưới cho biết cách thêm trình đơn với một mục, tiếp theo 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 đang sử dụng phiên bản mới, bạn phải sử dụng cú pháp addMenu() và không thể sử 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ở ra một 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!');
}

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 một tên cụ thể. Nếu cùng một tập lệnh hoặc 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ũ. Không thể xoá trình đơn trong khi tệp đang mở, mặc dù bạn có thể viết hàm onOpen() để bỏ qua trình đơn trong tương lai nếu bạn đặ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ể gán hàm Apps Script cho một hình ảnh hoặc bản vẽ trong Google Trang tính, miễn là tập lệnh được 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 tính năng 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 rồi 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 nút đó 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 bạn muốn chạy mà 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 vào hình ảnh hoặc bản vẽ một lần nữa. Hàm này hiện thực thi.