Sử dụng ứng dụng Google hiệu quả hơn với Google Apps Script

Khi sử dụng ứng dụng Google bạn có chắc mình đã sử dụng hết tính năng của nó. Với Google Apps Script, bạn có thể thêm menu, hộp thoại tùy chỉnh, viết các hàm và macro, xây dựng add-on cho Google Docs, Sheets và Slides.

Google Apps Script là gì?

Google Apps Script là một nền tảng phát triển dựa trên đám mây để tạo các ứng dụng web nhẹ, tùy chỉnh. Bạn có thể xây dựng các ứng dụng mở rộng trực tiếp bên trong trình duyệt, tích hợp dễ dàng với các sản phẩm của Google.

Apps Script sử dụng ngôn ngữ JavaScript mang đến sự quen thuộc khi kết hợp phát triển web với các sản phẩm Google, khiến nó trở thành một công cụ hoàn hảo để tùy chỉnh các ứng dụng doanh nghiệp, tổ chức hoặc tự động hóa các tác vụ.

Bạn có thể tạo hai loại script với Google Apps Script:

  • Standalone (Độc lập): Các script này không bị giới hạn với bất kỳ dịch vụ nào như Google Docs, Sheets hoặc Slides. Chúng có thể thực hiện các chức năng trên toàn hệ thống, giống như các macro. Tuy nhiên, chúng không thể chia sẻ với nhiều đối tượng bởi vì bạn cần sao chép và dán code để sử dụng. Ví dụ, bạn có thể tạo script tìm kiếm file trên Drive với tên cụ thể hoặc xem người có quyền chia sẻ file và thư mục trên Drive.
  • Bound (Giới hạn): Script này được liên kết với các file Google Docs, Sheets, Forms hoặc Slides. Các Bound script này mở rộng chức năng của file và chỉ thực hiện các hành động trong file cụ thể đó. Ví dụ, bạn có thể tạo script thêm các menu tùy chỉnh, hộp thoại và thanh bên vào một dịch vụ hoặc script gửi email thông báo cho bạn bất cứ khi nào một ô cụ thể trong Sheet thay đổi.

Nếu không biết nhiều về JavaScript hoặc có thể bạn chưa bao giờ nghe về nó trước đây cũng đừng quá lo lắng vì sử dụng Apps Script rất dễ dàng, nó cung cấp nhiều tài liệu và ví dụ để bạn có thể tự kiểm tra. Dưới đây là một số ví dụ để bạn hiểu về cách làm việc của chúng.

Cách tạo Standalone script 

Ở đây sẽ sử dụng một mẫu code từ Google làm ví dụ và sẽ giải thích các dòng code này nếu bạn không quen với Google Script hoặc JavaScript.

Truy cập vào Google Apps Scripts (https://script.google.com/home). Ở góc trên cùng bên trái, click vào icon ba thanh ngang, sau đó click vào New Script.

Click vào New Script

Một dự án không có tiêu đề mới mở ra với một hàm trống bên trong, nhưng vì ở đây sử dụng mẫu code từ Google nên bạn có thể xóa tất cả văn bản trong file.

Xóa văn bản trong file

Lưu ý: Bạn cần đăng nhập vào tài khoản Google để script này hoạt động.

Sau khi xóa code đã được tải trước trong file, dán dòng code sau:

//Initialize your function
function createADocument() {

// Create a new Google Doc named 'Hello, world!'
var doc = DocumentApp.create('Hello, world!');

// Access the body of the document, then add a paragraph.
doc.getBody().appendParagraph('This document was created by Google Apps Script.');
}

Trước khi chạy code, bạn phải lưu script này bằng cách click vào File > Save.

Lưu script

Đổi tên dự án, sau đó nhấn vào OK.

Đổi tên dự án

Để chạy code, click vào icon hình tam giác ở trên thanh công cụ.

Chạy code

Bạn sẽ phải cấp quyền cho script để truy cập vào tài khoản Google thông qua cửa sổ bật lên sau khi click vào Run lần đầu tiên. Click vào Review Permissions để xem script cần những quyền gì.

Click vào Review Permissions

Vì đây không phải là ứng dụng được Google xác minh do đó bạn sẽ nhận được một cảnh báo khác. Về cơ bản nó nói rằng, bạn chỉ nên tiến hành nếu tin tưởng nhà phát triển. Click vào Advanced, sau đó click vào Go to CreateNewDoc (hoặc bất cứ tên nào bạn đã đặt cho script này).

Click vào Go to CreateNewDoc

Xem lại các quyền mà script yêu cầu, sau đó click vào Allow.

Click vào Allow

Bây giờ, hãy truy cập vào Drive của bạn và nếu mọi thứ đúng, bạn sẽ thấy file Hello, World! ở đây, click đúp vào nó để mở.

Click đúp để mở file

Khi mở file, bạn sẽ thấy dòng văn bản từ code thêm vào tài liệu của bạn.

Dòng văn bản từ code thêm vào tài liệu

Bây giờ, nếu muốn nhận thông báo qua email khi tài liệu được tạo, bạn có thể thêm một vài dòng code để gửi tự động đến tài khoản Google của mình. Thêm các dòng mã dưới đây sau doc.getBody().appendParagraph('This document was created by Google Apps Script.'); nhưng trước dấu ngoặc nhọn cuối cùng:

// Get the URL of the document.
var url = doc.getUrl();
// Get the email address of the active user - that's you.
var email = Session.getActiveUser().getEmail();

// Get the name of the document to use as an email subject line.
var subject = doc.getName();

// Append a new string to the "url" variable to use as an email body.
var body = 'Link to your doc: ' + url;

// Send yourself an email with a link to the document.
GmailApp.sendEmail(email, subject, body);

Nhấp vào icon hình tam giác. Vì bạn đã thêm một vài dòng bổ sung yêu cầu thêm quyền nên sẽ thực hiện các bước tương tự trên, click vào Review Permissions > Advanced, sau đó click vào Go to CreateNewDoc.

Lưu ý: Bởi vì Google cảnh báo bạn về việc khởi chạy ứng dụng không được xác minh, nên bạn sẽ nhận được một email cảnh báo bảo mật. Google thực hiện điều này trong trường hợp nghi bạn không phải là người cấp quyền cho ứng dụng không được xác minh.

Xem trước các quyền cấp cho script, sau đó click vào Allow. Khi tài liệu được tạo, bạn sẽ nhận được email cùng với link file trong Google Drive.

Nhận được email cùng với link file

Click vào link này để mở trực tiếp file bên trong Google Drive.

Cách tạo Bound script 

Bây giờ chúng ta sẽ tạo một script giới hạn cho Google Sheets để phân tích trang tính hiện tại có mục trùng trong một hàng không và sau đó xóa nó.

Như đã nói, Bound script hoạt động như một add-on cho một file cụ thể. Để tạo một script giới hạn, mở trang tính Google Sheets sẵn có chứa ít nhất một dữ liệu trùng lặp.

Mở trang tính hiện có dữ liệu trùng

Click vào Tool và sau đó Script Editor

Click vào Script Editor

Google Apps Script mở trong một tab mới với script trống. Tuy nhiên lần này script bị giới hạn trong dạng Sheet. Cũng giống như trước, xóa hàng trống và dán code sau:

//Removes duplicate rows from the current sheet.

function removeDuplicates() {
//Get current active Spreadsheet
var sheet = SpreadsheetApp.getActiveSheet();
//Get all values from the spreadsheet's rows
var data = sheet.getDataRange().getValues();
//Create an array for non-duplicates
var newData = [];
//Iterate through a row's cells
for (var i in data) {
var row = data[i];
var duplicate = false;
for (var j in newData) {
if (row.join() == newData[j].join()) {
duplicate = true;
}
}
//If not a duplicate, put in newData array
if (!duplicate) {
newData.push(row);
}
}
//Delete the old Sheet and insert the newData array
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}

Lưu ý: Đối với script xóa dữ liệu trùng lặp, tất cả các ô trong hàng phải trùng khớp.

Lưu và đổi tên script, sau đó nhấn icon Run. Tương tự như trên, bạn phải xem trước quyền script yêu cầu và cấp quyền cho nó truy cập vào trang tính. Click vào Review Permissions. Sau đó chấp nhận thông báo và click vào Allow để cấp quyền cho script.

Sau khi chạy xong, trở lại Sheet và bạn sẽ thấy các mục trùng lặp đã biến mất.

Dữ liệu trùng lặp đã biến mất

Tuy nhiên nếu dữ liệu bên trong một bảng như ví dụ trên, script này sẽ không thay đổi kích thước bảng để khít với số trong đó.

Trên đây là hai ví dụ đơn giản về cách sử dụng Apps Script, nhưng nó còn rất nhiều tùy chọn khác phụ thuộc vào mục đích sử dụng của bạn.

Chúc các bạn thực hiện thành công! 

Thứ Năm, 02/05/2019 08:14
53 👨 546