Chào mọi người,
Dạo gần đây mình có tìm hiểu về Google Apps Script và phát hiện ra một cách khá hay để tạo các nút tùy chỉnh ngay trên Google Sheets, giúp thực thi các lệnh hoặc script mà không cần phải mở Script Editor. Cách này rất tiện lợi khi bạn muốn chia sẻ file cho người khác mà không muốn họ can thiệp vào code, hoặc đơn giản là muốn thao tác nhanh hơn.
Cách thực hiện như sau:
- Tạo Script: Đầu tiên, bạn cần có một đoạn script Google Apps Script mà bạn muốn thực thi. Ví dụ, mình có một script đơn giản để xóa các dòng trống:
function deleteEmptyRows() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var dataRange = sheet.getDataRange(); var numRows = dataRange.getNumRows(); for (var i = numRows; i >= 1; i--) { var row = sheet.getRange(i, 1, 1, sheet.getLastColumn()); if (row.getDisplayValues().every(cell => cell[0] === "")) { sheet.deleteRow(i); } } }Bạn vào Extensions > Apps Script để dán đoạn code này vào.
- Tạo Nút trên Sheet: Quay lại file Google Sheets của bạn, vào menu Insert > Drawing. Tại đây, bạn có thể vẽ một hình chữ nhật, hình tròn, hoặc bất kỳ hình dạng nào bạn muốn làm nút. Sau khi vẽ xong, nhấn Save and Close.
- Gán Script cho Nút: Hình vẽ sẽ xuất hiện trên sheet của bạn. Click vào hình vẽ đó, bạn sẽ thấy một biểu tượng 3 chấm dọc ở góc trên bên phải. Click vào đó và chọn Assign script.
- Nhập Tên Script: Một hộp thoại sẽ hiện ra, yêu cầu bạn nhập tên của hàm script mà bạn muốn gán. Trong ví dụ trên, tên hàm là
deleteEmptyRows. Nhập chính xác tên hàm vào và nhấn OK.
Bây giờ, mỗi khi bạn click vào nút vừa tạo, script deleteEmptyRows sẽ được thực thi. Rất tiện lợi đúng không ạ?
Hy vọng mẹo nhỏ này hữu ích cho mọi người!