Một phiên bản của môi trường giao diện người dùng cho một ứng dụng Google cho phép tập lệnh thêm các tính năng như trình đơn, hộp thoại và thanh bên. Một tập lệnh chỉ có thể tương tác với giao diện người dùng cho phiên bản hiện tại của một trình chỉnh sửa đang mở và chỉ khi tập lệnh đó được liên kết với vùng chứa với trình chỉnh sửa.
// Display a dialog box with a title, message, input field, and "Yes" and "No" // buttons. The user can also close the dialog by clicking the close button in // its title bar. const ui = SpreadsheetApp.getUi(); const response = ui.prompt( 'Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO, ); // Process the user's response. if (response.getSelectedButton() === ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() === ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Thuộc tính
| Thuộc tính | Loại | Mô tả |
|---|---|---|
Button | Button | Một enum đại diện cho các nút hộp thoại được bản địa hoá, xác định trước do cảnh báo hoặc Prompt trả về để cho biết người dùng đã nhấp vào nút nào trong hộp thoại. |
Button | Button | Một enum đại diện cho các nhóm nút hộp thoại đã được bản địa hoá và xác định trước. Bạn có thể thêm các nhóm này vào một cảnh báo hoặc một lời nhắc. |
Phương thức
| Phương thức | Kiểu dữ liệu trả về | Mô tả ngắn |
|---|---|---|
alert(prompt) | Button | Mở một hộp thoại trong trình chỉnh sửa của người dùng với thông báo đã cho và nút "OK". |
alert(prompt, buttons) | Button | Mở một hộp thoại trong trình chỉnh sửa của người dùng bằng thông báo và bộ nút đã cho. |
alert(title, prompt, buttons) | Button | Mở một hộp thoại trong trình chỉnh sửa của người dùng với tiêu đề, thông báo và bộ nút đã cho. |
create | Menu | Tạo một trình tạo có thể dùng để chèn một trình đơn phụ vào trình đơn Tiện ích của trình chỉnh sửa. |
create | Menu | Tạo một trình tạo có thể dùng để thêm trình đơn vào giao diện người dùng của trình chỉnh sửa. |
prompt(prompt) | Prompt | Mở hộp thoại nhập trong trình chỉnh sửa của người dùng bằng thông báo đã cho và nút "OK". |
prompt(prompt, buttons) | Prompt | Mở một hộp thoại nhập trong trình chỉnh sửa của người dùng bằng thông báo và bộ nút đã cho. |
prompt(title, prompt, buttons) | Prompt | Mở một hộp thoại nhập trong trình chỉnh sửa của người dùng với tiêu đề, thông báo và bộ nút đã cho. |
show | void | Mở một hộp thoại phương thức trong trình chỉnh sửa của người dùng bằng nội dung tuỳ chỉnh phía máy khách. |
show | void | Mở một hộp thoại không theo phương thức trong trình chỉnh sửa của người dùng bằng nội dung tuỳ chỉnh phía máy khách. |
show | void | Mở một thanh bên trong trình chỉnh sửa của người dùng với nội dung tuỳ chỉnh phía máy khách. |
Tài liệu chi tiết
alert(prompt)
Mở một hộp thoại trong trình chỉnh sửa của người dùng với thông báo đã cho và nút "OK". Phương thức này tạm ngưng tập lệnh phía máy chủ trong khi hộp thoại đang mở. Tập lệnh sẽ tiếp tục sau khi người dùng đóng hộp thoại, nhưng các kết nối Jdbc và khoá LockService sẽ không duy trì trong thời gian tạm ngưng. Để biết thêm thông tin, hãy xem hướng dẫn về hộp thoại và thanh bên.
// Display "Hello, world" in a dialog box with an "OK" button. The user can also // close the dialog by clicking the close button in its title bar. SpreadsheetApp.getUi().alert('Hello, world');
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
prompt | String | Thông báo sẽ xuất hiện trong hộp thoại. |
Cầu thủ trả bóng
Button – Nút mà người dùng đã nhấp vào.
alert(prompt, buttons)
Mở một hộp thoại trong trình chỉnh sửa của người dùng bằng thông báo và bộ nút đã cho. Phương thức này tạm ngưng tập lệnh phía máy chủ trong khi hộp thoại đang mở. Tập lệnh sẽ tiếp tục sau khi người dùng đóng hộp thoại, nhưng các kết nối Jdbc và khoá LockService sẽ không duy trì trong thời gian tạm ngưng. Để biết thêm thông tin, hãy xem hướng dẫn về hộp thoại và thanh bên.
// Display a dialog box with a message and "Yes" and "No" buttons. The user can // also close the dialog by clicking the close button in its title bar. const ui = SpreadsheetApp.getUi(); const response = ui.alert( 'Are you sure you want to continue?', ui.ButtonSet.YES_NO, ); // Process the user's response. if (response === ui.Button.YES) { Logger.log('The user clicked "Yes."'); } else { Logger.log( 'The user clicked "No" or the close button in the dialog\'s title bar.', ); }
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
prompt | String | Thông báo sẽ xuất hiện trong hộp thoại. |
buttons | Button | Nhóm nút sẽ xuất hiện trong hộp thoại. |
Cầu thủ trả bóng
Button – Nút mà người dùng đã nhấp vào.
alert(title, prompt, buttons)
Mở một hộp thoại trong trình chỉnh sửa của người dùng với tiêu đề, thông báo và bộ nút đã cho. Phương thức này tạm ngưng tập lệnh phía máy chủ trong khi hộp thoại đang mở. Tập lệnh sẽ tiếp tục sau khi người dùng đóng hộp thoại, nhưng các kết nối Jdbc và khoá LockService sẽ không duy trì trong thời gian tạm ngưng. Để biết thêm thông tin, hãy xem hướng dẫn về hộp thoại và thanh bên.
// Display a dialog box with a title, message, and "Yes" and "No" buttons. The // user can also close the dialog by clicking the close button in its title bar. const ui = SpreadsheetApp.getUi(); const response = ui.alert( 'Confirm', 'Are you sure you want to continue?', ui.ButtonSet.YES_NO, ); // Process the user's response. if (response === ui.Button.YES) { Logger.log('The user clicked "Yes."'); } else { Logger.log( 'The user clicked "No" or the close button in the dialog\'s title bar.', ); }
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
title | String | Tiêu đề sẽ xuất hiện phía trên hộp thoại. |
prompt | String | Thông báo sẽ xuất hiện trong hộp thoại. |
buttons | Button | Nhóm nút sẽ xuất hiện trong hộp thoại. |
Cầu thủ trả bóng
Button – Nút mà người dùng đã nhấp vào.
createAddonMenu()
Tạo một trình tạo có thể dùng để chèn một trình đơn phụ vào trình đơn Tiện ích của trình chỉnh sửa. Thực tế, trình đơn sẽ không được cập nhật cho đến khi Menu.addToUi() được gọi. Nếu tập lệnh đang chạy dưới dạng một tiện ích bổ sung, thì tên của trình đơn con sẽ trùng khớp với tên của tiện ích bổ sung đó trong cửa hàng trực tuyến; nếu tập lệnh được liên kết trực tiếp với tài liệu, thì tên của trình đơn con sẽ trùng khớp với tên của tập lệnh. Để biết thêm thông tin, hãy xem hướng dẫn về trình đơn.
// Add an item to the add-on menu, under a sub-menu whose name is set // automatically. function onOpen(e) { SpreadsheetApp.getUi() .createAddonMenu() .addItem('Show', 'showSidebar') .addToUi(); }
Cầu thủ trả bóng
Menu – Trình tạo trình đơn mới.
createMenu(caption)
Tạo một trình tạo có thể dùng để thêm trình đơn vào giao diện người dùng của trình chỉnh sửa. Trình đơn sẽ không thực sự được thêm cho đến khi Menu.addToUi() được gọi. Để biết thêm thông tin, hãy xem hướng dẫn về trình đơn. Nhãn cho trình đơn cấp cao nhất phải ở dạng viết hoa tiêu đề (tất cả các từ chính đều được viết hoa), mặc dù nhãn cho trình đơn con phải ở dạng viết hoa đầu câu (chỉ từ đầu tiên được viết hoa). Nếu tập lệnh được xuất bản dưới dạng tiện ích bổ sung, thì tham số caption sẽ bị bỏ qua và trình đơn sẽ được thêm dưới dạng trình đơn con của trình đơn Tiện ích, tương đương với createAddonMenu().
// Add a custom menu to the active document, including a separator and a // sub-menu. 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(); }
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
caption | String | Nhãn cho trình đơn, trong đó tất cả các từ chính đều được viết hoa đối với trình đơn cấp cao nhất hoặc chỉ có từ đầu tiên được viết hoa đối với trình đơn con. |
Cầu thủ trả bóng
Menu – Trình tạo trình đơn mới.
prompt(prompt)
Mở hộp thoại nhập trong trình chỉnh sửa của người dùng bằng thông báo đã cho và nút "OK". Phương thức này tạm ngưng tập lệnh phía máy chủ trong khi hộp thoại đang mở. Tập lệnh sẽ tiếp tục sau khi người dùng đóng hộp thoại, nhưng các kết nối Jdbc và khoá LockService sẽ không duy trì trong thời gian tạm ngưng. Để biết thêm thông tin, hãy xem hướng dẫn về hộp thoại và thanh bên.
// Display a dialog box with a message, input field, and an "OK" button. The // user can also close the dialog by clicking the close button in its title bar. const ui = SpreadsheetApp.getUi(); const response = ui.prompt('Enter your name:'); // Process the user's response. if (response.getSelectedButton() === ui.Button.OK) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
prompt | String | Thông báo sẽ xuất hiện trong hộp thoại. |
Cầu thủ trả bóng
PromptResponse – Dữ liệu đại diện cho phản hồi của người dùng.
prompt(prompt, buttons)
Mở một hộp thoại nhập trong trình chỉnh sửa của người dùng bằng thông báo và bộ nút đã cho. Phương thức này tạm ngưng tập lệnh phía máy chủ trong khi hộp thoại đang mở. Tập lệnh sẽ tiếp tục sau khi người dùng đóng hộp thoại, nhưng các kết nối Jdbc và khoá LockService sẽ không duy trì trong thời gian tạm ngưng. Để biết thêm thông tin, hãy xem hướng dẫn về hộp thoại và thanh bên.
// Display a dialog box with a message, input field, and "Yes" and "No" buttons. // The user can also close the dialog by clicking the close button in its title // bar. const ui = SpreadsheetApp.getUi(); const response = ui.prompt('May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() === ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() === ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
prompt | String | Thông báo sẽ xuất hiện trong hộp thoại. |
buttons | Button | Nhóm nút sẽ xuất hiện trong hộp thoại. |
Cầu thủ trả bóng
PromptResponse – Dữ liệu đại diện cho phản hồi của người dùng.
prompt(title, prompt, buttons)
Mở một hộp thoại nhập trong trình chỉnh sửa của người dùng với tiêu đề, thông báo và bộ nút đã cho. Phương thức này tạm ngưng tập lệnh phía máy chủ trong khi hộp thoại đang mở. Tập lệnh sẽ tiếp tục sau khi người dùng đóng hộp thoại, nhưng các kết nối Jdbc và khoá LockService sẽ không duy trì trong quá trình tạm ngưng. Để biết thêm thông tin, hãy xem hướng dẫn về hộp thoại và thanh bên.
// Display a dialog box with a title, message, input field, and "Yes" and "No" // buttons. The user can also close the dialog by clicking the close button in // its title bar. const ui = SpreadsheetApp.getUi(); const response = ui.prompt( 'Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO, ); // Process the user's response. if (response.getSelectedButton() === ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() === ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
title | String | Tiêu đề sẽ xuất hiện phía trên hộp thoại. |
prompt | String | Thông báo sẽ xuất hiện trong hộp thoại. |
buttons | Button | Nhóm nút sẽ xuất hiện trong hộp thoại. |
Cầu thủ trả bóng
PromptResponse – Dữ liệu đại diện cho phản hồi của người dùng.
showModalDialog(userInterface, title)
Mở một hộp thoại phương thức trong trình chỉnh sửa của người dùng bằng nội dung tuỳ chỉnh phía máy khách. Phương thức này không tạm ngưng tập lệnh phía máy chủ trong khi hộp thoại đang mở. Để giao tiếp với tập lệnh phía máy chủ, thành phần phía máy khách phải thực hiện các lệnh gọi lại không đồng bộ bằng cách sử dụng API google.script cho HtmlService. Để đóng hộp thoại theo phương thức lập trình, hãy gọi
google.script.host.close() ở phía máy khách của một ứng dụng web HtmlService. Để biết thêm thông tin, hãy xem hướng dẫn về hộp thoại và thanh bên.
Hộp thoại phương thức ngăn người dùng tương tác với bất kỳ nội dung nào khác ngoài hộp thoại. Ngược lại, hộp thoại không theo phương thức và thanh bên cho phép người dùng tương tác với trình chỉnh sửa. Trong hầu hết các trường hợp, hộp thoại phương thức hoặc thanh bên là lựa chọn tốt hơn so với hộp thoại không có phương thức.
// Display a modal dialog box with custom HtmlService content. const htmlOutput = HtmlService .createHtmlOutput( '<p>A change of speed, a change of style...</p>', ) .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'My add-on');
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
user | Object | Một Html đại diện cho giao diện cần hiển thị. |
title | String | Tiêu đề của hộp thoại; ghi đè mọi tiêu đề được đặt bằng cách gọi set trên đối tượng user. |
Ủy quyền
Các tập lệnh sử dụng phương thức này cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:
-
https://www.googleapis.com/auth/script.container.ui
showModelessDialog(userInterface, title)
Mở một hộp thoại không theo phương thức trong trình chỉnh sửa của người dùng bằng nội dung tuỳ chỉnh phía máy khách. Phương thức này không tạm ngưng tập lệnh phía máy chủ trong khi hộp thoại đang mở. Để giao tiếp với tập lệnh phía máy chủ, thành phần phía máy khách phải thực hiện các lệnh gọi lại không đồng bộ bằng cách sử dụng API google.script cho HtmlService. Để đóng hộp thoại theo phương thức lập trình, hãy gọi
google.script.host.close() ở phía máy khách của một ứng dụng web HtmlService. Để biết thêm thông tin, hãy xem hướng dẫn về hộp thoại và thanh bên.
Hộp thoại không theo phương thức cho phép người dùng tương tác với trình chỉnh sửa phía sau hộp thoại. Ngược lại, hộp thoại phương thức thì không. Trong hầu hết các trường hợp, hộp thoại phương thức hoặc thanh bên là lựa chọn tốt hơn so với hộp thoại không phương thức.
// Display a modeless dialog box with custom HtmlService content. const htmlOutput = HtmlService .createHtmlOutput( '<p>A change of speed, a change of style...</p>', ) .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'My add-on');
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
user | Object | Một Html đại diện cho giao diện cần hiển thị. |
title | String | Tiêu đề của hộp thoại; ghi đè mọi tiêu đề được đặt bằng cách gọi set trên đối tượng user. |
Ủy quyền
Các tập lệnh sử dụng phương thức này cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:
-
https://www.googleapis.com/auth/script.container.ui
showSidebar(userInterface)
Mở một thanh bên trong trình chỉnh sửa của người dùng với nội dung tuỳ chỉnh phía máy khách. Phương thức này không tạm ngưng tập lệnh phía máy chủ trong khi thanh bên đang mở. Để giao tiếp với tập lệnh phía máy chủ, thành phần phía máy khách phải thực hiện các lệnh gọi lại không đồng bộ bằng cách sử dụng API google.script cho HtmlService. Để đóng thanh bên theo cách lập trình, hãy gọi
google.script.host.close() ở phía máy khách của một ứng dụng web HtmlService. Để biết thêm thông tin, hãy xem hướng dẫn về hộp thoại và thanh bên.
Thanh bên xuất hiện ở bên phải của trình chỉnh sửa đối với những người dùng sử dụng ngôn ngữ viết từ trái sang phải và ở bên trái của trình chỉnh sửa đối với ngôn ngữ viết từ phải sang trái. Tất cả các thanh bên do tập lệnh hiển thị đều có chiều rộng 300 pixel.
// Display a sidebar with custom HtmlService content. const htmlOutput = HtmlService .createHtmlOutput( '<p>A change of speed, a change of style...</p>', ) .setTitle('My add-on'); SpreadsheetApp.getUi().showSidebar(htmlOutput);
Tham số
| Tên | Loại | Mô tả |
|---|---|---|
user | Object | Một Html đại diện cho giao diện cần hiển thị. |
Ủy quyền
Các tập lệnh sử dụng phương thức này cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:
-
https://www.googleapis.com/auth/script.container.ui