SpreadsheetApp
https://hocggsheet.com/spreadsheetapp/
Các lệnh ở lớp SpreadsheetApp cho phép truy cập và thao tác với các file Google Trang Tính.
Phương thức
Trả về
Mô tả ngắn
Spreadsheet
Tạo 1 spreadsheet với tên đã cho
Spreadsheet
Tạo 1 spreadsheet với tên, số dòng và cột đã cho
void
Áp dụng tất cả thay đổi đang chờ trong bảng tính
Spreadsheet
Trả về 1 spreadsheet đang kích hoạt, hoặc null nếu không có
Range
Trả về dải ô đang kích hoạt, hoặc null nếu không có
RangeList
Trả về danh sách dải ô đang kích hoạt hoặc null nếu không có
Sheet
Lấy sheet đang kích hoạt
Spreadsheet
Trả về spreadsheet đang được kích hoạt hoặc null nếu không có
Range
Trả về 1 ô đang được chọn trong dải ô tại sheet đang kích hoạt hoặc null nếu không có
Selection
Trả về khu vực đang được chọn trong spreadsheet
Ui
Trả về môi trường mà ở đó người dùng được phép tạo menu, hộp thoại và thanh sidebar
ConditionalFormatRuleBuilder
Tạo quy tắc định dạng điều kiện
DataValidationBuilder
Tạo quy tắc xác thực dự liệu
Spreadsheet
Opens the spreadsheet that corresponds to the given File object.
Spreadsheet
Mở spreadsheet với ID cho sẵn
Spreadsheet
Mở spreadsheet với URL cho sẵn
Range
Kích hoạt dải ô cho sẵn, ô phía trên ngoài cùng bên trái là ô được chọn
RangeList
Kích hoạt danh sách dải ô
Sheet
Kích hoạt 1 sheet trong spreadsheet
Sheet
Kích hoạt 1 sheet trong spreadsheet, với lựa chọn khôi phục dải ô vừa mới được chọn
void
Kích hoạt 1 spreadsheet
Range
Kích hoạt 1 ô
create(name)
create(name)
Tạo một bảng tính với tên đã cho
0123
// Code dưới đây tạo một bảng tính mới có tên "Finances" và ghi URL của file vừa tạo vào nhật kývar ssNew = SpreadsheetApp.create("Finances");Logger.log(ssNew.getUrl());
Tham số
name
String
Tên bảng tính
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
create(name, rows, columns)
create(name, rows, columns)
Tạo 1 spreadsheet với tên, số dòng và cột đã cho
0123
// Code dưới đây tạo một bảng tính có tên "Finances" với 50 dòng, 50 cột và ghi URL của file vừa tạo vào nhật kývar ssNew = SpreadsheetApp.create("Finances", 50, 5);Logger.log(ssNew.getUrl());
Tham số
name
String
Tên bảng tính
rows
Integer
Số dòng trong bảng tính
columns
Integer
Số cột trong bảng tính
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
flush()
flush()
Áp dụng tất cả thay đổi đang chờ trong bảng tính
Các lệnh trong bảng tính đôi khi được kết hợp với nhau và chạy đồng thời để tăng hiệu suất, ví dụ như khi gọi nhiều lệnh Range.getValue(). Tuy nhiên, đôi khi bạn sẽ muốn nhìn thấy những thay đổi chờ này được thực thi tuần tự
0123456789101112131415
// Code dưới đây thay đổi màu nền của ô A1 và B1 hai mươi lần. Nếu flush() không được dùng, tất cả thay đổi này sẽ được thực hiện 1 lần và bạn chỉ nhìn thấy kết quả cuối cùng. Còn nếu flush() được gọi thì bạn sẽ thấy màu sắc được thay đổi từ lần 1 đến lần 20 function colors() { var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 0; i < 20; i++) { if ((i % 2) == 0) { sheet.getRange('A1').setBackground('green'); sheet.getRange('B1').setBackground('red'); } else { sheet.getRange('A1').setBackground('red'); sheet.getRange('B1').setBackground('green'); } SpreadsheetApp.flush(); }}
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
getActive()
getActive()
Trả về bảng tính đang kích hoạt, hoặc null nếu không có
012
// Code sau ghi URL của bảng tính đang kích hoạt vào nhật kýLogger.log(SpreadsheetApp.getActive().getUrl());
getActiveRange()
getActiveRange()
Trả về dải ô đang được chọn, hoặc null nếu không có. Nếu có nhiều dải ô đang được chọn, phương thức này chỉ trả về dải ô được chọn sau cùng.
0123
// Code dưới đây ghi màu nền của dải ô đang được chọn vào nhật kývar color = SpreadsheetApp.getActiveRange().getBackgroundColor();Logger.log(color);
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
getActiveRangeList()
getActiveRangeList()
Trả về danh sách dải ô đang được chọn hoặc null nếu không có. Dải ô có chứa ô đang được chọn sẽ nằm cuối danh sách này.
Nếu chỉ có một dải ô được chọn, phương thức này hoạt động giống như getActiveRange()
012
// Trả về danh sách các dải ô đang được chọnvar rangeList = SpreadsheetApp.getActiveRangeList();
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
getActiveSheet()
getActiveSheet()
Lấy trang tính đang được chọn
Trang tính đang được chọn ở bảng tính là trang tính đang hiển thị trên bảng tính
012
// Code dưới đây ghi vào nhật ký tên của trang tính đang được chọnLogger.log(SpreadsheetApp.getActiveSheet().getName());
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
getActiveSpreadsheet()
getActiveSpreadsheet()
Trả về bảng tính đang được chọn hoặc null nếu không có
012
// Code dưới đây ghi vào nhật ký liên kết URL của bảng tính đang được chọnLogger.log(SpreadsheetApp.getActiveSpreadsheet().getUrl());
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
getCurrentCell()
getCurrentCell()
Trả về 1 ô đang được chọn trong trang tính hoặc null nếu không có
012
// Trả về ô đang được chọnvar currentCell = SpreadsheetApp.getCurrentCell();
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
getSelection()
getSelection()
Trả về khu vực đang được chọn trong bảng tính
012
var selection = SpreadsheetApp.getSelection();var currentCell = selection.getCurrentCell();
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
getUi()
getUi()
Trả về môi trường mà ở đó người dùng được phép tạo menu, hộp thoại và thanh sidebar. Để xem chi tiết, vui lòng tham khảo Cách tạo hộp thoại dialog
01234567891011
// Thêm một menu tùy chỉnh vào bảng tính đang mở, bao gồm cả dấu phân cách và một menu phụfunction onOpen(e) { SpreadsheetApp.getUi() .createMenu('My Menu') .addItem('My menu item', 'myFunction') .addSeparator() .addSubMenu(SpreadsheetApp.getUi().createMenu('My sub-menu') .addItem('One sub-menu item', 'mySecondFunction') .addItem('Another sub-menu item', 'myThirdFunction')) .addToUi();}
newConditionalFormatRule()
newConditionalFormatRule()
Tạo quy tắc cho định dạng theo điều kiện
0123456789101112
// Thêm một quy tắc định đang theo điều kiện cho một trang tính, quy tắc này chuyển dải ô A1:B3 sang nền màu đỏ// nếu chúng có chứa số từ 1 đến 10.var sheet = SpreadsheetApp.getActive().getActiveSheet();var range = sheet.getRange('A1:B3');var rule = SpreadsheetApp.newConditionalFormatRule() .whenNumberBetween(1, 10) .setBackgroundColor("#FF0000") .setRanges([range]) .build()var rules = sheet.getConditionalFormatRules();rules.push(rule);sheet.setConditionalFormatRules(rules);
newDataValidation()
newDataValidation()
Tạo quy tắc xác thực dự liệu
01234567
var cell = SpreadsheetApp.getActive().getRange('A1');var rule = SpreadsheetApp.newDataValidation() .requireNumberBetween(1, 100) .setAllowInvalid(false) .setHelpText('Number must be between 1 and 100.') .build();cell.setDataValidation(rule);
openById(id)
openById(id)
Mở bảng tính với ID cho sẵn. Một ID bảng tính có thể lấy từ URL của nó. Ví dụ, cho URL là https://docs.google.com/spreadsheets/d/abc1234567/edit#gid=0
thì “abc1234567” là ID
012345
// Code dưới đây mở một bảng tính thông qua ID và ghi tên của nó vào nhật ký// Lưu ý rằng người dùng KHÔNG thấy được trang tính được mở// Nó chỉ mở ở phía servervar ss = SpreadsheetApp.openById("abc1234567");Logger.log(ss.getName());
Tham số
id
String
Thứ độc nhất của một bảng tính
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
openByUrl(url)
openByUrl(url)
Mở bảng tính với URL cho sẵn
0123456
// Code dưới đây mở một bảng tính thông qua URL và ghi tên của nó vào nhật ký// Lưu ý rằng người dùng KHÔNG thấy được trang tính được mở// Nó chỉ mở ở phía servervar ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc1234567/edit');Logger.log(ss.getName());
Tham số
url
String
URL của trang tính
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
setActiveRange(range)
setActiveRange(range)
Đặt một dải ô thành dải ô đang được chọn, ô phía trên ngoài cùng bên trái là ô được chọn
0123456789
// Code dưới đây đặt dải ô C1:D4 ở trang tính đầu tiên thành dải ô đang được chọnvar range = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('C1:D4');SpreadsheetApp.setActiveRange(range); var selection = SpreadsheetApp.getSelection();// Current cell: C1var currentCell = selection.getCurrentCell();// Active Range: C1:D4var activeRange = selection.getActiveRange();
Tham số
range
Dải ô được đặt là dải ô đang được chọn
setActiveRangeList(rangeList)
setActiveRangeList(rangeList)
Đặt một danh sách các dải ô thành các dải ô đang được chọn. Dải ô cuối cùng trong danh sách sẽ là dải ô đang được chọn
01234567891011
// Code dưới đây đặt hai dải ô D4 và B2:C4 thành dải ô đang được chọnvar rangeList = SpreadsheetApp.getActiveSheet().getRanges(['D4', 'B2:C4']);SpreadsheetApp.setActiveRangeList(rangeList); var selection = SpreadsheetApp.getSelection();// Ô hiện tại: B2var currentCell = selection.getCurrentCell();// Dải ô đang được chọn: B2:C4var activeRange = selection.getActiveRange();// Danh sách dải ô đang được chọn: [D4, B2:C4]var activeRangeList = selection.getActiveRangeList();
Tham số
rangeList
Danh sách các dải ô được chọn
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
setActiveSheet(sheet)
setActiveSheet(sheet)
Đặt một trang tính thành trang tính đang được chọn. Google Sheet UI sẽ hiển thị trên trang tính này trừ khi nó thuộc về một bảng tính khác.
0123
// Code dưới đây đặt trang tính thứ 2 trong bảng tính thành trang tính đang được chọnvar spreadsheet = SpreadsheetApp.getActiveSpreadsheet();SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[1]);
Tham số
sheet
Trang tính được chọn mới
setActiveSheet(sheet, restoreSelection)
setActiveSheet(sheet, restoreSelection)
Đặt một trang tính thành trang tính đang được chọn, với lựa chọn khôi phục vùng chọn được chọn gần đây nhất trong trang tính đó. Google Sheet UI sẽ hiển thị trên trang tính này trừ khi nó thuộc về một bảng tính khác.
01234567891011121314
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();var firstSheet = spreadsheet.getSheets()[0];var secondSheet = spreadsheet.getSheets()[1];// Đặt trang tính đầu tiên là trang tính được chọn và chọn dải ô D4:F4.spreadsheet.setActiveSheet(firstSheet).getRange('D4:F4').activate(); // Thử chuyển sang trang tính thứ 2spreadsheet.setActiveSheet(secondSheet);// Quay lại trang tính đầu tiên và khôi phục vùng chọn được chọn gần nhấtspreadsheet.setActiveSheet(firstSheet, true); // Vùng chọn trong trang tính đầu tiên đã được khôi phục, ghi nó nhật ký (dải ô D4:F4) để kiểm travar range = spreadsheet.getActiveSheet().getSelection().getActiveRange();Logger.log(range.getA1Notation());
Tham số
sheet
Trang tính được chọn mới
restoreSelection
Boolean
Nếu là true
, trang tính mới sẽ trở thành trang tính đang được chọn và dải ô được chọn gần nhất của nó sẽ được khôi phục
Nếu là false
, trang tính mới sẽ trở thành trang tính đang được chọn mà không có thay đổi gì về vùng chọn
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
setActiveSpreadsheet(newActiveSpreadsheet)
setActiveSpreadsheet(newActiveSpreadsheet)
Đặt bảng tính đang được chọn.
0123
// Code dưới đây đặt bảng tính có ID "1234567890" thành bảng tính đang được chọnvar ss = SpreadsheetApp.openById("1234567890");SpreadsheetApp.setActiveSpreadsheet(ss);
Tham số
newActiveSpreadsheet
Bảng tính được chọn để làm bảng tính đang được chọn
setCurrentCell(cell)
setCurrentCell(cell)
Đặt một ô làm ô đang được chọn
Nếu ô đang nằm trong một dải ô đã được chọn, thì dải ô trở thành dải ô đang được chọn với ô là ô đang được chọn.
Nếu ô không nằm trong bất kỳ dải ô nào, thì dải ô đã được chọn sẽ bị hủy, và ô sẽ trở thành ô/dải ô đang được chọn.
01234567
// Code dưới đây đặt ô B5 ở trang tính đầu tiên làm ô đang được chọn.var cell = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('B5');SpreadsheetApp.setCurrentCell(cell); var selection = SpreadsheetApp.getSelection();// Ô đang được chọn: B5var currentCell = selection.getCurrentCell();
Tham số
cell
Ô được đặt làm ô đang được chọn
Xác thực quyền
Các lệnh dùng phương thức này yêu cầu xác thực quyền từ các scopes sau:
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/spreadsheets
Last updated