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 thành phần giao diện người dùng khi được nhấp vào, sẽ thực thi một 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 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, nhưng chức năng 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.

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, với mỗi mục trong trình đơn gắn với một hàm trong một 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 biểu mẫu chứ không hiển thị cho 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 ràng buộc vào 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 bên trong Hàm onOpen().

Ví dụ bên dưới cho biết cách thêm một trình đơn với một mục, theo sau là một dấu phân cách hình ảnh, thì trình đơn phụ chứa mục khác. (Lưu ý rằng trong Google Trang tính, trừ khi bạn đang sử dụng phiên bản mới, bạn phải sử dụng addMenu() và không thể có 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 alert (cảnh báo). Để biết thêm thông tin về loại hộp thoại mà bạn có thể mở, hãy xem hướng dẫn cho 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 menu có một cá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 một tập lệnh thì trình đơn mới sẽ thay thế trình đơn cũ. Không thể xoá trình đơn khi đang tệp đang mở, mặc dù bạn có thể viết hàm onOpen() để bỏ qua trình đơn 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ể chỉ định hàm trong 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 bị ràng buộc 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 đượ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 trình đơn thả xuống nhỏ xuất hiện ở góc trên cùng bên phải. Hãy 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 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 lại vào hình ảnh hoặc bản vẽ. Bây giờ, hàm này sẽ thực thi.