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

Nội dung được viết bởi Bến Hà Trương

 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 Scripts 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, hãy cùng Gitiho tìm hiểu 3 Scripts đơn giản của Google Scripts để thu thập dữ liệu tự động vào Google Docs nhé.

Tự động thu thập dữ liệu vào Google Docs bằng Google Scripts

Tự động thu nhập dữ 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 Scripts.

Bước 1: Tạo tài liệu Google Docs 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 thu nhập dữ liệu từ thông tin người dùng nhập 1

Bạn có thể viết một dòng lệnh đơn giản để chạy Google Scripts 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 thu nhập dữ liệu từ thông tin người dùng nhập 2

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 nameResponse = ui.prompt('Enter sales person\'s 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();
 var dateString = Utilities.formatDate(date, Session.getScriptTimeZone(), 'yyyy-MM-dd');
 try {
   // Make a copy of the template file
   var templateId = 'YOUR_TEMPLATE_FILE_ID'; // Replace with your template file ID
   var documentId = DriveApp.getFileById(templateId).makeCopy().getId();
   // Rename the copied file
   var newFileName = nameResponse.getResponseText() + ' ' + dateString + ' Sales Report';
   DriveApp.getFileById(documentId).setName(newFileName);
   // 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());
 } catch (e) {
   Logger.log('An error occurred: ' + e.toString());
   ui.alert('An error occurred: ' + e.toString());
 }
}

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 thu nhập dữ liệu từ thông tin người dùng nhập 3

Trong cửa sổ Google Scripts 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 thu nhập dữ liệu từ thông tin người dùng nhập 4

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.

  • Trong 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 thu nhập dữ liệu từ thông tin người dùng nhập 5

Xem thêmSo sánh Microsoft Word và Google Docs: đâu là lựa chọn tối ưu cho bạn

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

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 Google Docs.

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.

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

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
Nhập dữ liệu Google Analytics vào tài liệu để tạo báo cáo trong Google Docs 2

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 = 'YOUR_TABLE_ID'; // Replace with your actual Google Analytics table ID
 var startDate = getLastNdays(7); // 1 week ago
 var endDate = getLastNdays(0);
 var date = new Date();
 var dateString = Utilities.formatDate(date, Session.getScriptTimeZone(), 'yyyy-MM-dd');
 try {
   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 (var 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 templateId = 'YOUR_TEMPLATE_FILE_ID'; // Replace with your template file ID
   var documentId = DriveApp.getFileById(templateId).makeCopy().getId();
   // Rename the copied file
   var newFileName = dateString + ' Website Report';
   DriveApp.getFileById(documentId).setName(newFileName);
   // 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);
 } catch (e) {
   Logger.log('An error occurred: ' + e.toString());
   DocumentApp.getUi().alert('An error occurred: ' + e.toString());
 }
}
function getLastNdays(nDaysAgo) {
 var today = new Date();
 var before = new Date();
 before.setDate(today.getDate() - nDaysAgo);
 return Utilities.formatDate(before, Session.getScriptTimeZone(), '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.

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

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 tự động 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, bạn có thể tiết kiệm thời gian bằng cách tích hợp Google Sheets với Google Docs. Trong tập lệnh này, bạn sẽ sử dụng Google Scripts Editor bên trong Google Sheets, vì đó là nơi dữ liệu sẽ đến.

Đầ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 "##" .

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

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.

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

Để 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();
 var dateString = Utilities.formatDate(date, Session.getScriptTimeZone(), 'yyyy-MM-dd');
 try {
   // Opens SS by its ID
   var spreadsheetId = 'YOUR_SPREADSHEET_ID'; // Replace with your actual Spreadsheet ID
   var ss = SpreadsheetApp.openById(spreadsheetId);
   var sheet = ss.getSheetByName('Sam'); // or whatever is the name of the sheet
   // Make a copy of the template file
   var templateId = 'YOUR_TEMPLATE_FILE_ID'; // Replace with your template file ID
   var documentId = DriveApp.getFileById(templateId).makeCopy().getId();
   // Rename the copied file
   var newFileName = 'Sam ' + dateString + ' Sales Report';
   DriveApp.getFileById(documentId).setName(newFileName);
   // 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++) {
     var clientCell = range.getCell(i, 1);
     var client = clientCell.getValue(); 
     body.replaceText('##client' + i + '##', client);
     var salesCell = range.getCell(i, 2);
     var sales = salesCell.getValue();
     body.replaceText('##sales' + i + '##', sales);    
   }
 } catch (e) {
   Logger.log('An error occurred: ' + e.toString());
   DocumentApp.getUi().alert('An error occurred: ' + e.toString());
 }
}

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.

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

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.

Xem thêm: Cách kết nối Google Analytics với Google Data Studio

Kết luận

Trong bài viết trên Gitiho đã hướng dẫn bạn 3 tập lệnh Google Scripts thu thập dữ liệu tự động vào Google Docs. Chúc bạn thực hiện thành công và đừng quên theo dõi chúng mình để xem thêm các kiến thức bổ ích khác nhé!

Nhận tư vấn và đăng ký khóa học ở đây.

Bài viết tham khảo khác:

Hướng dẫn cách thêm hình mờ (Watermark) vào Google Docs

25 Mẹo Google Docs vô cùng hữu ích có thể bạn chưa biết

Để giúp bạn hiểu rõ tính năng và tự tin làm các công việc văn phòng liên quan đến soạn thảo văn bản, Gitiho xin gửi tặng bạn khóa học Nhập môn Word cùng Gitiho miễn phí. Bạn chỉ cần vào đăng ký là có thể bắt đầu tham gia học rồi nhé. Chúc bạn thành công!

/5 - ( bình chọn)

/5 - ( bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần 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
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông