Mở rộng Google Trang tính

Google Apps Script cho phép bạn thực hiện những thao tác mới và thú vị bằng Google Trang tính. Bạn có thể dùng Apps Script để thêm trình đơn tuỳ chỉnh, hộp thoại và thanh bên vào Google Trang tính. Tệp này cũng cho phép bạn viết các hàm tuỳ chỉnh cho Trang tính, cũng như tích hợp Trang tính với các dịch vụ khác của Google như Lịch, Drive và Gmail.

Hầu hết các tập lệnh được thiết kế cho Google Trang tính đều thao tác với các mảng để tương tác với các ô, hàng và cột trong bảng tính. Nếu bạn không quen với các mảng trong JavaScript, Codecademy cung cấp mô-đun đào tạo tuyệt vời về mảng. (Xin lưu ý rằng khoá học này không do Google phát triển và không liên kết với Google.)

Để tìm hiểu nhanh về cách sử dụng Apps Script với Google Trang tính, hãy xem hướng dẫn bắt đầu nhanh trong 5 phút về Macro, Trình đơn và Hàm tuỳ chỉnh.

Bắt đầu

Apps Script có các API đặc biệt, cho phép bạn tạo, đọc và chỉnh sửa Google Trang tính theo phương thức lập trình. Apps Script có thể tương tác với Google Trang tính theo 2 cách rộng: bất kỳ tập lệnh nào cũng có thể tạo hoặc sửa đổi bảng tính nếu người dùng có quyền phù hợp đối với bảng tính, tập lệnh cũng có thể liên kết với bảng tính, từ đó cung cấp cho tập lệnh các tính năng đặc biệt để thay đổi giao diện người dùng hoặc phản hồi khi bảng tính được mở. Để tạo một tập lệnh liên kết, hãy chọn Tiện ích > Apps Script trong Google Trang tính.

Dịch vụ Bảng tính coi Google Trang tính ở dạng lưới, hoạt động với các mảng hai chiều. Để truy xuất dữ liệu từ bảng tính, bạn phải có quyền truy cập vào bảng tính nơi lưu trữ dữ liệu, lấy dải ô trong bảng tính chứa dữ liệu, sau đó lấy giá trị của các ô. Apps Script hỗ trợ việc truy cập dữ liệu bằng cách đọc dữ liệu có cấu trúc trong bảng tính và tạo đối tượng JavaScript cho các đối tượng đó.

Đọc dữ liệu

Giả sử bạn có danh sách tên và số sản phẩm mà bạn lưu trữ trong bảng tính, như trong hình dưới đây.

Ví dụ dưới đây cho thấy cách truy xuất và ghi nhật ký tên cũng như số hiệu sản phẩm.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

Xem nhật ký

Để xem dữ liệu đã được ghi nhật ký, ở đầu trình chỉnh sửa tập lệnh, hãy nhấp vào Nhật ký thực thi.

Ghi dữ liệu

Để lưu trữ dữ liệu, chẳng hạn như tên và số sản phẩm mới vào bảng tính, hãy thêm mã sau vào cuối tập lệnh.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

Mã ở trên sẽ nối một hàng mới ở cuối bảng tính, với các giá trị được chỉ định. Nếu chạy hàm này, bạn sẽ thấy một hàng mới được thêm vào bảng tính.

Trình đơn và giao diện người dùng tuỳ chỉnh

Bạn có thể tuỳ chỉnh Google Trang tính bằng cách thêm trình đơn, hộp thoại và thanh bên tuỳ chỉnh. Để tìm hiểu kiến thức cơ bản về cách tạo trình đơn, hãy xem hướng dẫn tạo trình đơn. Để tìm hiểu về cách tuỳ chỉnh nội dung của hộp thoại, hãy xem hướng dẫn sử dụng dịch vụ HTML.

Bạn cũng có thể đính kèm hàm tập lệnh vào hình ảnh hoặc bản vẽ trong bảng tính; hàm sẽ thực thi khi người dùng nhấp vào hình ảnh hoặc bản vẽ. Để tìm hiểu thêm, hãy xem phần Hình ảnh và Bản vẽ trong Google Trang tính.

Nếu bạn dự định phát hành giao diện tuỳ chỉnh trong một tiện ích bổ sung, hãy làm theo hướng dẫn về kiểu để đảm bảo tính nhất quán với kiểu và bố cục của trình chỉnh sửa Google Trang tính.

Đang kết nối với Google Biểu mẫu

Apps Script cho phép bạn kết nối Google Biểu mẫu với Google Trang tính thông qua các dịch vụ Biểu mẫuBảng tính. Tính năng này có thể tự động tạo một biểu mẫu bằng Google Biểu mẫu dựa trên dữ liệu trong bảng tính. Apps Script cũng cho phép bạn sử dụng điều kiện kích hoạt, chẳng hạn như onFormSubmit để thực hiện một thao tác cụ thể sau khi người dùng phản hồi biểu mẫu. Để tìm hiểu thêm về cách kết nối Google Trang tính với Google Biểu mẫu, hãy thử bắt đầu nhanh 5 phút trong bài viết Quản lý câu trả lời cho Google Biểu mẫu.

Định dạng

Lớp Range có các phương thức như setBackground(color) để truy cập và sửa đổi định dạng của một ô hoặc dải ô. Ví dụ sau đây cho thấy cách bạn có thể đặt kiểu phông chữ của một dải ô:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

Xác thực dữ liệu

Apps Script cho phép bạn truy cập vào các quy tắc xác thực dữ liệu hiện có trong Google Trang tính hoặc tạo các quy tắc mới. Ví dụ: mẫu sau đây cho biết cách đặt quy tắc xác thực dữ liệu chỉ cho phép các số từ 1 đến 100 trên một ô.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

Để biết thêm thông tin chi tiết về cách xử lý các quy tắc xác thực dữ liệu, hãy xem SpreadsheetApp.newDataValidation(), DataValidationBuilderRange.setDataValidation(rule)

Bảng xếp hạng

Apps Script cho phép bạn nhúng các biểu đồ vào bảng tính biểu diễn dữ liệu trong một phạm vi cụ thể. Ví dụ sau đây sẽ tạo ra một biểu đồ thanh dạng nhúng, giả sử bạn có dữ liệu có thể lập biểu đồ trong các ô A1:B15:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

Để tìm hiểu thêm về cách nhúng biểu đồ vào bảng tính, hãy xem EmbeddedChart và các trình tạo biểu đồ cụ thể, chẳng hạn như EmbeddedPieChartBuilder.

Hàm tuỳ chỉnh trong Google Trang tính

Hàm tuỳ chỉnh tương tự như hàm tích hợp sẵn trong bảng tính như =SUM(A1:A5), ngoại trừ việc bạn xác định hành vi của hàm bằng Apps Script. Ví dụ: bạn có thể tạo một hàm tuỳ chỉnh in2mm() để chuyển đổi giá trị từ inch sang milimet, sau đó sử dụng công thức trong bảng tính bằng cách nhập =in2mm(A1) hoặc =in2mm(10) vào ô.

Để tìm hiểu thêm về hàm tuỳ chỉnh, hãy xem hướng dẫn nhanh 5 phút về Trình đơn và hàm tuỳ chỉnh hoặc xem hướng dẫn chi tiết hơn về hàm tuỳ chỉnh.

Macro

Macro là một cách khác để thực thi mã Apps Script từ giao diện người dùng Google Trang tính. Không giống như các hàm tuỳ chỉnh, bạn kích hoạt các hàm này bằng phím tắt hoặc thông qua trình đơn Google Trang tính. Để biết thêm thông tin, hãy xem bài viết Macro trên Google Trang tính.

Tiện ích bổ sung cho Google Trang tính

Tiện ích bổ sung là các dự án Apps Script được đóng gói đặc biệt, chạy trong Google Trang tính và có thể được cài đặt qua cửa hàng tiện ích bổ sung trên Google Trang tính. Nếu bạn đã phát triển tập lệnh cho Google Trang tính và muốn chia sẻ tập lệnh đó với mọi người, thì Apps Script sẽ cho phép bạn publish tập lệnh dưới dạng tiện ích bổ sung để người dùng khác có thể cài đặt tập lệnh đó từ cửa hàng tiện ích bổ sung.

Điều kiện kích hoạt

Các tập lệnh được liên kết với tệp Google Trang tính có thể sử dụng các điều kiện kích hoạt đơn giản như các hàm onOpen()onEdit() để tự động phản hồi khi người dùng có quyền chỉnh sửa bảng tính mở hoặc chỉnh sửa bảng tính.

Giống như điều kiện kích hoạt đơn giản, điều kiện kích hoạt có thể cài đặt cho phép Google Trang tính tự động chạy hàm khi một sự kiện nhất định xảy ra. Tuy nhiên, điều kiện kích hoạt có thể cài đặt mang lại tính linh hoạt cao hơn so với điều kiện kích hoạt đơn giản và hỗ trợ các sự kiện sau: mở, chỉnh sửa, thay đổi, gửi biểu mẫu và theo thời gian (đồng hồ).