Google Apps Script cho phép bạn tạo và sửa đổi Google Tài liệu bằng cách lập trình, cũng như tùy chỉnh giao diện người dùng bằng các trình đơn, hộp thoại và thanh bên mới.
Thông tin cơ bản
Apps Script có thể tương tác với Google Tài liệu theo hai cách lớn: bất kỳ tập lệnh nào cũng có thể tạo hoặc sửa đổi tài liệu nếu người dùng của tập lệnh có quyền thích hợp cho tài liệu, và tập lệnh cũng có thể liên kết với một tài liệu, điều này cung cấp cho tập lệnh các khả năng đặc biệt để thay đổi giao diện người dùng hoặc phản hồi khi tài liệu được mở. Để tạo tập lệnh liên kết vùng chứa từ trong Google Tài liệu, hãy nhấp vào Phần mở rộng > Apps Script.
Trong cả hai trường hợp, bạn chỉ cần tương tác với một tệp Google Tài liệu thông qua Dịch vụ tài liệu của Apps Script, như ví dụ minh hoạ sau đây.
function createDoc() { var doc = DocumentApp.create('Sample Document'); var body = doc.getBody(); var rowsData = [['Plants', 'Animals'], ['Ficus', 'Goat'], ['Basil', 'Cat'], ['Moss', 'Frog']]; body.insertParagraph(0, doc.getName()) .setHeading(DocumentApp.ParagraphHeading.HEADING1); table = body.appendTable(rowsData); table.getRow(0).editAsText().setBold(true); }
Tập lệnh ở trên sẽ tạo một tài liệu mới trong Google Drive của người dùng, sau đó chèn một đoạn có chứa văn bản giống như tên của tài liệu, kiểu mà đoạn văn bản làm tiêu đề và thêm bảng dựa trên các giá trị trong một mảng hai chiều. Tập lệnh có thể dễ dàng thực hiện những thay đổi này cho một tài liệu hiện có bằng cách thay thế lệnh gọi đến DocumentApp.create()
bằng DocumentApp.openById()
hoặc openByUrl()
.
Đối với tập lệnh được tạo bên trong tài liệu (liên kết vùng chứa), hãy sử dụng DocumentApp.getActiveDocument()
.
Cấu trúc của tài liệu
Từ góc nhìn của Apps Script, Google Tài liệu có cấu trúc giống như một tài liệu HTML—tức là Google Tài liệu bao gồm các thành phần (như
Paragraph
hoặc
Table
) thường chứa các phần tử khác. Hầu hết các tập lệnh sửa đổi Google Tài liệu đều bắt đầu bằng lệnh gọi đến getBody()
, vì Body
là một phần tử chính chứa tất cả các phần tử khác, ngoại trừ HeaderSection
, FooterSection
và bất kỳ Footnotes
nào.
Tuy nhiên, có những quy tắc về loại phần tử nào có thể chứa các loại khác. Hơn nữa, Dịch vụ tài liệu trong Apps Script chỉ có thể chèn một số loại phần tử nhất định. Cây dưới đây cho thấy các phần tử có thể được chứa bởi một loại phần tử nhất định.
Bạn có thể chèn các phần tử in đậm; bạn chỉ có thể thao tác với các phần tử không in đậm.
- Tài liệu
- Nội dung
- SectionSection
- ListItem
- HorizontalRule
- InlineDrawing
- InlineImage
- Văn bản
- SupportElement (số trang, v.v.)
- Đoạn
- HorizontalRule
- InlineDrawing
- InlineImage
- Văn bản
- SupportElement (số trang, v.v.)
- Bảng
- ListItem
- footerSection
- ListItem
- HorizontalRule
- InlineDrawing
- InlineImage
- Văn bản
- SupportElement (số trang, v.v.)
- Đoạn
- HorizontalRule
- InlineDrawing
- InlineImage
- Văn bản
- SupportElement (số trang, v.v.)
- Bảng
- ListItem
- Chú thích chân trang
Thay thế văn bản
Apps Script thường được dùng để thay thế văn bản trong Google Tài liệu. Giả sử bạn có một bảng tính chứa đầy đủ thông tin khách hàng và bạn muốn tạo Google Tài liệu được cá nhân hoá cho từng khách hàng. (Loại thao tác này thường được gọi là hợp nhất thư.)
Có nhiều cách để thay thế văn bản, nhưng đơn giản nhất là phương thức
replaceText()
hiển thị trong ví dụ bên dưới. replaceText
hỗ trợ hầu hết các tính năng của biểu thức chính quy của JavaScript. Hàm đầu tiên bên dưới
thêm một số dòng văn bản giữ chỗ vào Google Tài liệu; trong thực tế, bạn sẽ có nhiều khả năng tự nhập phần giữ chỗ vào tài liệu. Hàm thứ hai thay thế phần giữ chỗ bằng các thuộc tính được xác định trong đối tượng client
.
Xin lưu ý rằng cả hai hàm này đều sử dụng phương thức
getActiveDocument()
.
Phương thức này chỉ áp dụng cho tập lệnh được tạo bên trong Google Tài liệu; trong
tập lệnh độc lập, hãy sử dụng
DocumentApp.create()
,
openById()
hoặc
{openByUrl()
.
Thêm một số phần giữ chỗ
function createPlaceholders() { var body = DocumentApp.getActiveDocument().getBody(); body.appendParagraph('{name}'); body.appendParagraph('{address}'); body.appendParagraph('{city} {state} {zip}'); }
Thay thế phần giữ chỗ
function searchAndReplace() { var body = DocumentApp.getActiveDocument() .getBody(); var client = { name: 'Joe Script-Guru', address: '100 Script Rd', city: 'Scriptville', state: 'GA', zip: 94043 }; body.replaceText('{name}', client.name); body.replaceText('{address}', client.address); body.replaceText('{city}', client.city); body.replaceText('{state}', client.state); body.replaceText('{zip}', client.zip); }
Trình đơn tuỳ chỉnh và giao diện người dùng
Bạn có thể tuỳ chỉnh Google Tài liệu bằng cách thêm trình đơn, hộp thoại và thanh bên. Tuy nhiên, hãy lưu ý rằng tập lệnh chỉ có thể tương tác với giao diện người dùng cho bản sao hiện tại của tài liệu đang mở và chỉ khi tập lệnh liên kết với tài liệu.
Xem cách thêm trình đơn tuỳ chỉnh và hộp thoại vào Google Tài liệu. Để tìm hiểu thêm về cách tạo giao diện tuỳ chỉnh cho hộp thoại hoặc thanh bên, hãy xem hướng dẫn đến Dịch vụ HTML. Nếu bạn dự định phát hành giao diện tuỳ chỉnh trong 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 Tài liệu.
Tiện ích bổ sung cho Google Tài liệu
Tiện ích bổ sung chạy trong Google Tài liệu và có thể cài đặt từ cửa hàng tiện ích bổ sung Google Tài liệu. Nếu bạn đã phát triển tập lệnh cho Google Tài liệu và muốn chia sẻ tập lệnh đó với thế giới, Apps Script sẽ cho phép bạn phát hành tập lệnh của bạn 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.
Để xem cách tạo tiện ích bổ sung cho Google Tài liệu, hãy xem phần bắt đầu nhanh về cách tạo tiện ích bổ sung cho Tài liệu.
Điều kiện kích hoạt
Các tập lệnh liên kết với tài liệu Google có thể sử dụng trình kích hoạt đơn giản để phản hồi sự kiện onOpen
của tài liệu, sự kiện này xảy ra bất cứ khi nào người dùng có quyền chỉnh sửa tài liệu mở ra trong Google Tài liệu.
Để thiết lập trình kích hoạt, bạn chỉ cần viết một hàm tên là onOpen()
. Để biết ví dụ về trình kích hoạt này, hãy xem Trình đơn tuỳ chỉnh trong Google Workspace.
Mặc dù trình kích hoạt đơn giản hữu ích cho việc thêm trình đơn, nhưng nó không thể sử dụng bất kỳ dịch vụ Apps Script nào yêu cầu uỷ quyền.