Sử dụng Google Scripts để thu thập dữ liệu tự động vào Google Docs

Bến Hà Trương
04 Jan 2021

Google Documents là một trong những ứng dụng online giống như Microsoft Word. Khi sử dụng công cụ này bạn sẽ có thể sử dụng Google Script giúp tự động hóa công việc giúp bạn làm việc nhanh hơn, hiệu quả hơn. Trong bài viết này chúng ta cùng tìm hiểu 3 Script:

1. Tạo tài liệu từ form nhập của người dùng.

2. Tự động nhập dữ liệu từ Google Analytics vào báo cáo Google Docs

3. Liên kết dữ liệu từ Google Sheets.

Tự động tạo tài liệu từ thông tin người dùng nhập

Nếu bạn thường xuyên gửi email đến khách hàng, một mẫu tài liệu tự động có thể giúp bạn tiết kiệm vô số thời gian. Đây có thể là báo cáo doanh số hàng tháng cho người quản lý của bạn hoặc thông tin cập nhật hàng tuần cho đồng nghiệp. Mọi thứ bạn viết lên thường xuyên có thể được tự động hóa bằng mẫu tài liệu và Google Script.

Bước đầu tiên là tạo một mẫu tài liệu. Thực hiện việc này vô cùng đơn giản như cách tạo trang doc mới. Đối với những từ bạn muốn điền, chỉ cần bao quanh chúng bằng hai dấu ## , như ví dụ bên dưới.

Tự động tạo tài liệu từ thông tin người dùng nhập

Bạn có thể viết một dòng lệnh đơn giản để chạy Google Script mỗi khi bạn mở tài liệu này, nhắc bạn thêm các thông tin cần thiết.

Để tạo tập lệnh, hãy click vào menu Tools, chọn Script editor.

Tự động tạo tài liệu từ thông tin người dùng nhập

Trong cửa sổ trình chỉnh sửa, hãy xóa mã ở đó và thay thế nó bằng tập lệnh sau.

function myFunction() {
// Display a dialog box for each field you need information for.
var ui = DocumentApp.getUi();
//var response = ui.prompt('Enter Name', 'Enter sales person's name', ui.ButtonSet.OK);
var nameResponse = ui.prompt('Enter sales persons name');
var client1Response = ui.prompt('Enter client 1');
var sales1Response = ui.prompt('Enter sales 1');
var client2Response = ui.prompt('Enter client 2');
var sales2Response = ui.prompt('Enter sales 2');
var client3Response = ui.prompt('Enter client 3');
var sales3Response = ui.prompt('Enter sales 3');
var commissionResponse = ui.prompt('Enter commission');
var date = new Date();
//Make a copy of the template file
var documentId = DriveApp.getFileById('').makeCopy().getId();
//Rename the copied file
DriveApp.getFileById(documentId).setName(nameResponse.getResponseText() + date + ' Sales Report');
//Get the document body as a variable
var body = DocumentApp.openById(documentId).getBody();
//Insert the entries into the document
body.replaceText('##name##', nameResponse.getResponseText());
body.replaceText('##client1##', client1Response.getResponseText());
body.replaceText('##sales1##', sales1Response.getResponseText());
body.replaceText('##client2##', client2Response.getResponseText());
body.replaceText('##sales2##', sales2Response.getResponseText());
body.replaceText('##client3##', client3Response.getResponseText());
body.replaceText('##sales3##', sales3Response.getResponseText());
body.replaceText('##commission##', commissionResponse.getResponseText());
}

Tập lệnh này sẽ gọi ra lời nhắc khi tài liệu mở ra, hãy tạo một tài liệu mới với tên của người bán hàng và ngày hôm nay trong tiêu đề. Sau đó, nó sẽ điền vào các trường mẫu với thông tin bạn đã nhập.

Thay thế mã ID tài liệu trong tập lệnh ở trên bằng ID tài liệu của tài liệu mẫu. ID này có thể tìm thấy trên trình duyệt của bạn, như hình bên dưới.

Tự động tạo tài liệu từ thông tin người dùng nhập

Trong cửa sổ Google Script editor, nhấp vào biểu tượng ổ đĩa để lưu tập lệnh.

Tiếp theo, nhấp vào biểu tượng chạy để kiểm tra xem script này có hoạt động không. Khi bạn chạy tập lệnh lần đầu tiên, bạn có thể cần phải phê duyệt quyền cho Tài khoản Google của mình để chạy tập lệnh.

Quay lại tài liệu mẫu, bạn sẽ thấy các cửa sổ nhắc lần lượt bật lên. Điền vào các trường với dữ liệu bạn muốn đi vào tài liệu.

Tự động tạo tài liệu từ thông tin người dùng nhập

Khi bạn hoàn tất, tập lệnh sẽ tạo một tài liệu mới trong thư mục gốc Google Drive của bạn với tất cả thông tin bạn đã điền vào.

Cuối cùng, bạn chỉ cần thiết lập tập lệnh để chạy mỗi khi mở tài liệu mẫu.

  • Tong cửa sổ Google Script Editor, nhấp vào Edit > Current project's triggers.
  • Nhấp vào nút Add Trigger ở góc dưới bên phải. Đảm bảo chọn On Open trong phần Select event type.
  • Bấm OK để hoàn thành.

Tự động tạo tài liệu từ thông tin người dùng nhập

Nhập dữ liệu Google Analytics vào một tài liệu để tạo báo cáo

Cho dù bạn sở hữu một trang web hay bạn làm việc cho ai đó sở hữu một trang web, yêu cầu thường xuyên là đo lường lưu lượng truy cập và hiệu suất trang web và cung cấp nó bên trong một báo cáo được định dạng.

Bạn có thể sử dụng phương pháp  tương tự như phần trên để xuất dữ liệu trang web từ Google Analytics và xuất dữ liệu đó sang báo cáo Google Documents.

Đầu tiên, hãy tạo một mẫu báo cáo giống như bạn đã làm trong phần trước. Trong ví dụ này, mẫu sẽ được thiết lập để cung cấp tổng số người dùng, phiên và số lần xem trang trong tuần qua.

Tự động tạo tài liệu từ thông tin người dùng nhập

Tiếp theo, chuyển đến  Google Docs Script Editor bằng các bước tương tự như phần trước. Cho phép truy cập vào dữ liệu Google Analytics bằng cách thực hiện theo các bước bên dưới.

  1. Trong cửa sổ trình chỉnh sửa tập lệnh, hãy chọn Resources, sau đó chọn Advanced Google services
  2. Nhấp vào on/off bên cạnh API Google Analytics
  3. Bên dưới hộp thoại, nhấp vào Google Cloud Platform API Dashboard 
  4. Trong cửa sổ Cloud Platform, nhấp vào Enable APIs and Services
  5. Tìm kiếm Analytics và nhấp vào API Analytics
  6. Nhấp vào nút Enable  để bật API này cho tập lệnh của bạn
  7. Quay lại cửa sổ trình chỉnh sửa tập lệnh và nhấp vào OK để đóng cửa sổ Dịch vụ nâng cao của Google

Tự động tạo tài liệu từ thông tin người dùng nhập

Bây giờ bạn đã bật tích hợp với API Google Analytics, bạn đã sẵn sàng để tự động tạo báo cáo của mình. Dán đoạn mã sau vào trong cửa sổ mã trình soạn thảo tập lệnh.

function myFunction() {
var tableId = 'ga:';
var startDate = getLastNdays(7); // 1 week ago.
var endDate = getLastNdays(0);
var date = new Date();
var results = Analytics.Data.Ga.get(
tableId,
startDate,
endDate,
'ga:users,ga:sessions,ga:pageviews',
{'dimensions': 'ga:date'});
var data = [];
var totals = results.totalsForAllResults;
for (metricName in totals) {
data.push(totals[metricName]);
}
var users = data[0]
var sessions = data[1]
var pageviews = data[2]
// Output to Google Doc.
//Make a copy of the template file
var documentId = DriveApp.getFileById('').makeCopy().getId();
//Rename the copied file
DriveApp.getFileById(documentId).setName(date + ' Website Report');
//Get the document body as a variable
var body = DocumentApp.openById(documentId).getBody();
//Insert the entries into the document
body.replaceText('##startdate##', startDate);
body.replaceText('##enddate##', endDate);
body.replaceText('##users##', users);
body.replaceText('##sessions##', sessions);
body.replaceText('##pageviews##', pageviews);
}
function getLastNdays(nDaysAgo) {
var today = new Date();
var before = new Date();
before.setDate(today.getDate() - nDaysAgo);
return Utilities.formatDate(before, 'GMT', 'yyyy-MM-dd');
}

Thay thế mã ID tài liệu trong tập lệnh ở trên bằng ID tài liệu của tài liệu mẫu. Đồng thời thay thế ID Analytics bằng ID được hiển thị cho trang web của bạn trong Google Analytics.

Trong cửa sổ Google Script editor, nhấp vào biểu tượng đĩa để lưu tập lệnh.

Nhấp vào biểu tượng chạy để kiểm tra xem nó có hoạt động không.

Khi bạn chạy tập lệnh lần đầu tiên, bạn sẽ phải phê duyệt quyền cho Tài khoản Google của mình để chạy tập lệnh.

Chạy tập lệnh sẽ tạo một tài liệu mới trong thư mục gốc Google Drive của bạn với tất cả thông tin về hiệu suất trang web trong tuần trước đã được điền vào.

Tự động tạo tài liệu từ thông tin người dùng nhập

Cuối cùng, bạn chỉ cần thiết lập script để chạy hàng tuần.

  • Trong cửa sổ Google Script Editor, nhấp vào Edit và Current project's triggers
  • Nhấp vào nút Add Trigger ở góc dưới bên phải.
  • Thay đổi Select event source thành Time-driven. Thay đổi Select type of time based trigger thành Week timer.
  • Nhấp vào nút Save để lưu lại các tùy chọn của bạn.

Liên kết tới Google Sheets để đưa dữ liệu vào Google Docs

Đôi khi bạn cần chuyển thông tin từ bảng tính sang tài liệu cho những việc như phát triển báo cáo hoặc ghi nhật ký thông tin.

Nếu bạn thấy mình làm việc này thường xuyên, bạn có thể tiết kiệm thời gian bằng cách tích hợp Google Sheets với Google Dóc. Trong tập lệnh này, bạn sẽ sử dụng TGoogle Scripts Editor bên trong Google Sheets, vì đó là nơi dữ liệu sẽ đến.

Vui lòng xem thêm khóa học Google Sheets từ cơ bản tới nâng cao, công cụ thay thế Excel tuyệt vời để làm việc để biết khai thác tốt hơn nữa công cụ hữu ích này.

Đầu tiên, bạn sẽ tạo tài liệu bán hàng mẫu của mình giống như bạn đã làm trong phần đầu tiên của bài viết này, nhúng các biến được bao quanh bởi ký hiệu ## .

Tự động tạo tài liệu từ thông tin người dùng nhập

Dữ liệu cho các báo cáo này sẽ đến từ bảng tính Google Sheets của bạn, có thể đơn giản như hình bên dưới.

Tự động tạo tài liệu từ thông tin người dùng nhập

Để tạo tập lệnh của bạn, bên trong Google Sheets, hãy nhấp vào mục menu Tools và nhấp vào Script editor. Dán tập lệnh sau vào cửa sổ tập lệnh của trình soạn thảo.

function myFunction() {
var date = new Date();
// Opens SS by its ID
var ss = SpreadsheetApp.openById("");
var sheet = ss.getSheetByName('Sam'); // or whatever is the name of the sheet
//Make a copy of the template file
var documentId = DriveApp.getFileById('').makeCopy().getId();
//Rename the copied file
DriveApp.getFileById(documentId).setName('Sam ' + date + ' Sales Report');
//Get the document body as a variable
var body = DocumentApp.openById(documentId).getBody();
var range = sheet.getRange("A2:B4");
body.replaceText('##name##', 'Sam');
for (var i=1; i<4; i++) {
cell = range.getCell(i,1);
client = cell.getValue();
body.replaceText('##client' + i + '##', client);
cell = range.getCell(i,2);
sales = cell.getValue();
body.replaceText('##sales' + i + '##', sales);
}
}

Thay thế ID tài liệu trong tập lệnh ở trên bằng ID tài liệu của tài liệu mẫu. Đồng thời thay thế ID Google Sheets bằng ID dữ liệu Google Sheets của bạn.

Trong cửa sổ trình chỉnh sửa Tập lệnh của Google, nhấp vào biểu tượng đĩa để lưu tập lệnh.

Nhấp vào biểu tượng chạy để kiểm tra xem nó có hoạt động không. Hãy nhớ rằng khi bạn chạy tập lệnh lần đầu tiên, bạn sẽ cần phê duyệt các quyền để nó có thể truy cập vào Tài khoản Google của bạn.

Khi bạn chạy tập lệnh, nó sẽ tạo một tài liệu mới trong thư mục gốc Google Drive của bạn với tất cả dữ liệu bán hàng từ bảng tính.

Tự động tạo tài liệu từ thông tin người dùng nhập

Bạn cũng có thể duyệt qua các tab trang tính và tạo một báo cáo doanh số gửi cho mọi nhân viên bán hàng trong nhóm của bạn.

Google Docs có vẻ giống như một trình xử lý văn bản đơn giản, nhưng như bạn có thể thấy khi bạn tích hợp Google Analytics, nó sẽ nhân rộng chức năng của ứng dụng đám mây này. Bên cạnh đó, đừng quên tham gia Gitiho ngay hôm nay nhé, chúng tôi còn nhiều thủ thuật tin học văn phòng hữu ích khác chờ bạn khám phá.

Gitiho.com Nền tảng học online duy nhất tại Việt Nam tập trung vào phát triển kỹ năng làm việc dành cho người đi làm
Với sứ mệnh: Mang cơ hội phát triển kỹ năng, phát triển nghề nghiệp tới hàng triệu người”, đội ngũ phát triển Gitiho.com đã và đang làm việc với những học viện, trung tâm đào tạo, các chuyên gia đầu ngành để nghiên cứu và xây dựng lên các chương trình đào tạo từ cơ bản đến chuyên sâu xung quanh các lĩnh vực: Tin học văn phòng, Phân tích dữ liệu, Thiết kế, Công nghệ thông tin, Kinh doanh, Marketing, Quản lý dự án...
Gitiho tự hào khi được đồng hành cùng:
  • 50+ khách hàng doanh nghiệp lớn trong nhiều lĩnh vực như: Vietinbank, Vietcombank, BIDV, VP Bank, TH True Milk, VNPT, FPT Software, Samsung SDIV, Ajinomoto Việt Nam, Messer,…
  • 100.000+ học viên trên khắp Việt Nam

Tìm hiểu ngay các khóa học của Gitiho TẠI ĐÂY



@ 2020 - Bản quyền của Công ty TNHH Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội