Thông Báo

News Cập nhật bài
- - - - - - - - - - - - -
ღ Khi một thứ phát triển đến cực đại nó sẽ mang hình hài của cái đối nghịch
-Theza-
ღ==============ღ
◕ Lời nhắn
⊱ Mình học Bách Khoa nên ai đó ghét Bách Khoa thì có thể lặng lẽ đi ra
⊱ Mình là dân Thanh Hóa nên ai đó ghét Thanh Hóa cũng có thể lặng lẽ rời đi
⊱ Mình học cơ khí, trang này chỉ làm ra theo sở thích nên nếu thấy không hài lòng có thể nhẹ nhàng tắt trang..
◕ Dịch vụ: Nhận thiết kế Form mẫu Excel, Google Sheets, AppScript:
⊱ Hỗ trợ quản lý, chiết xuất dữ liệu; Tạo bảng báo cáo, thống kê nhanh;
⊱ Tạo hệ thống thiết lập và quản lý tiến độ công việc một cách trực quan;
⊱ Xây dựng appScript (Scan, điểm danh, quản lý kho, hệ thống quản lý mua bán,...)

Nhận chép Tiểu Luận. Liên hệ Lê Thu Hà
1 Google Sheets Apps Script
Tạo menu tùy chỉnh trong Google Sheets
Khi các bạn viết lệnh Apps Script cho Google Sheets chắc hẳn sẽ quan tâm đến việc kích hoạt tập lệnh sao cho thật tiện.
Có khá nhiều cách để thực thi tập lệnh, và tùy theo mục đích sử dụng như:
_ Chọn hàm (function) và ấn Chạy (Run) trực tiếp trong môi trường Apps Script
_ Gán tên hàm vào ảnh hoặc bản vẽ được chèn vào Google Sheets để tạo một nốt ấn thực thi lệnh
_ Tạo trình kích hoạt tự động (Triggers)
_ Tạo menu tùy chỉnh (Custom Menus)
Trong bài viết này mình sẽ giới thiệu với mọi người phương pháp tạo Menu tùy chỉnh (Custom Menus) để thực thi lệnh qua việc click chọn trên thanh menu Google Sheets
Sử dụng phương thức createMenu trong đối tượng SpreadsheetApp.getUi()
SpreadsheetApp.getUi() là một đối tượng cho phép bạn tương tác với giao diện người dùng GoogleSheets qua AppScript
Các phương thức sử dụng
Phương thứcMô tả
createMenu('nameMenu')Tạo một mục menu
addItem('nameItem', 'nameFunction')Tạo một mục chạy tệp lệnh
addSeparator()Tạo một dòng phân cách các mục trong menu
addSubMenu(menu)Thêm một mục menu thứ cấp
addToUi()Thực hiện chèn menu đã tạo vào Google Sheets
Các tham số trong mỗi phương thức
createMenu('nameMenu')
Tham sốĐịnh dạngMô tả
nameMenuChuỗi ký tựTên menu bạn muốn đặt
addItem('nameItem', 'nameFunction')
Tham sốĐịnh dạngMô tả
nameItemChuỗi ký tựTên mục bạn muốn đặt
nameFunctionChuỗi ký tựTên hàm thực thi khi chọn vào mục
addSubMenu(menu)
Tham sốĐịnh dạngMô tả
menuĐối tượngXây dựng tương tự menu chính
Xây dựng tập lệnh

/*Hàm tạo menu tùy chỉnh - theza2.blogspot.com*/
function makeMenu() {
  var ui=SpreadsheetApp.getUi(); //Khởi tạo môi trường Ui
  ui.createMenu("Tên menu chính") //Tạo menu chính
     .addItem('Tên chức năng 1', 'tenFunction1') //Thêm mục chức năng vào menu chính(mục 'Tên chức năng 1' ấn vào sẽ chạy tập lệnh 'tenFunction1')
     .addItem('Tên chức năng 2', 'tenFunction2') //Thêm mục chức năng vào menu chính (mục 'Tên chức năng 2' ấn vào sẽ chạy tập lệnh 'tenFunction2')
     .addSeparator() //Thêm dòng phân cách các mục trong menu
     .addSubMenu(ui.createMenu("Tên menu thứ cấp A") //Thêm một mục menu thứ cấp A vào menu chính
                                .addItem('Tên chức năng A.1', 'tenFunctionA1') //Thêm mục chức năng A.1 vào menu A
                                .addItem('Tên chức năng A.2', 'tenFunctionA2') //Thêm mục chức năng A.2 vào menu A
                           ) //Kết thúc việc tạo menu A
    .addSubMenu(ui.createMenu("Tên menu thứ cấp B") //Thêm một mục menu thứ cấp B vào menu chính
                               .addItem('Tên chức năng B.1', 'tenFunctionB1') //Thêm mục chức năng B.1 vào menu B
                               .addSubMenu(ui.createMenu("Tên menu thứ cấp B-B") //Thêm một mục menu thứ cấp B-B vào menu B
                                                          .addItem('Tên chức năng B-B.1', 'tenFunctionBB1') //Thêm mục chức năng B-B.1 vào menu B-B
                                                          .addItem('Tên chức năng B-B.2', 'tenFunctionBB2') //Thêm mục chức năng B-B.2 vào menu B-B
                                                      ) //Kết thúc việc tạo menu B-B
                                .addItem('Tên chức năng B.2', 'tenFunctionB2') //Thêm mục chức năng B.2 vào menu B
                           ) //Kết thúc việc tạo menu B
    .addToUi();  //Thêm menu vừa tạo bên trên vào thanh menu GoogleSheets
    } //Kết thúc việc tạo menu tùy chỉnh
    
/*Đưa tập lệnh tạo menu vào hàm onOpen để menu được tạo khi mở file GoogleSheets*/
function onOpen() {
    makeMenu();
   }
   
/*Các tập lệnh chức năng*/
function tenFunction1() {Browser.msgBox('Bạn đã thực hiện tập lệnh 1');}
function tenFunction2() {Browser.msgBox('Bạn đã thực hiện tập lệnh 2');}
function tenFunctionA1() {Browser.msgBox('Bạn đã thực hiện tập lệnh A.1');}
function tenFunctionA2() {Browser.msgBox('Bạn đã thực hiện tập lệnh A.2');}
function tenFunctionB1() {Browser.msgBox('Bạn đã thực hiện tập lệnh B.1');}
function tenFunctionB2() {Browser.msgBox('Bạn đã thực hiện tập lệnh B.2');}
function tenFunctionBB1() {Browser.msgBox('Bạn đã thực hiện tập lệnh B-B.1');}
function tenFunctionBB2() {Browser.msgBox('Bạn đã thực hiện tập lệnh B-B.2');}
    
Bình luận
Đăng nhập để bình luận
Tải thêm bình luận

➲ Giới thiệu - About me ➲ Liên hệ với tôi - Contact me ➲ Điều khoản điều kiện - Terms & Conditions ➲ Chính sách bảo mật - Privacy policy ➲ Tuyên bố miễn trừ trách nhiệm - Disclaimer
Phòng Chat tổng