Class Ui

Ui

Một thực thể 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 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 thực thể hiện tại của trình chỉnh sửa đang mở và chỉ khi tập lệnh giới hạn vùng chứa đối 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.
var ui = SpreadsheetApp.getUi();
var 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ínhLoạiMô tả
ButtonButtonMột enum đại diện cho các nút hộp thoại được bản địa hoá, được xác định trước do một cảnh báo hoặc PromptResponse.getSelectedButton() trả về để cho biết nút nào trong hộp thoại mà người dùng đã nhấp vào.
ButtonSetButtonSetMột enum đại diện cho nhóm một hoặc nhiều nút hộp thoại được bản địa hoá, được xác định trước mà có thể đã thêm vào thông báo hoặc lời nhắc.

Phương thức

Phương thứcLoại dữ liệu trả vềMô tả ngắn
alert(prompt)ButtonMở hộp thoại trong trình chỉnh sửa của người dùng với thông báo cho sẵn và nút "OK" .
alert(prompt, buttons)ButtonMở hộp thoại trong trình chỉnh sửa của người dùng với thông báo và một bộ nút cụ thể.
alert(title, prompt, buttons)ButtonMở 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 sẵn.
createAddonMenu()MenuTạo một trình tạo có thể dùng để chèn trình đơn phụ vào trình đơn Tiện ích của trình chỉnh sửa.
createMenu(caption)MenuTạ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)PromptResponseMở hộp thoại nhập dữ liệu trong trình chỉnh sửa của người dùng với thông báo cho sẵn và nút "OK" .
prompt(prompt, buttons)PromptResponseMở hộp thoại nhập dữ liệu trong trình chỉnh sửa của người dùng với thông báo và một bộ nút cụ thể.
prompt(title, prompt, buttons)PromptResponseMở hộp thoại nhập dữ liệu trong trình chỉnh sửa của người dùng với tiêu đề, thông báo và tập hợp các nút.
showModalDialog(userInterface, title)voidMở hộp thoại cửa sổ phụ trong trình chỉnh sửa của người dùng có nội dung tuỳ chỉnh phía máy khách.
showModelessDialog(userInterface, title)voidMở một hộp thoại không chế độ 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.
showSidebar(userInterface)voidMở một thanh bên trong trình chỉnh sửa của người dùng bằng nội dung phía máy khách tuỳ chỉnh.

Tài liệu chi tiết

alert(prompt)

Mở hộp thoại trong trình chỉnh sửa của người dùng với thông báo cho sẵn 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 Jdbc kết nối và LockService khoá không được 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 "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ênLoạiMô tả
promptStringThông báo 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ở hộp thoại trong trình chỉnh sửa của người dùng với thông báo và một bộ nút cụ thể. 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 Jdbc kết nối và LockService khoá không được 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 message and "Yes" and "No" buttons. The user can also close the
// dialog by clicking the close button in its title bar.
var ui = SpreadsheetApp.getUi();
var 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ênLoạiMô tả
promptStringThông báo xuất hiện trong hộp thoại.
buttonsButtonSetNút này được đặt để hiển thị 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ở 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 sẵn. Chiến dịch này sẽ 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 người dùng đóng hộp thoại, nhưng Jdbc kết nối và LockService khoá không được 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, and "Yes" and "No" buttons. The user can also
// close the dialog by clicking the close button in its title bar.
var ui = SpreadsheetApp.getUi();
var 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ênLoạiMô tả
titleStringTiêu đề xuất hiện ở phía trên hộp thoại.
promptStringThông báo xuất hiện trong hộp thoại.
buttonsButtonSetNút này được đặt để hiển thị 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 trình đơn phụ vào trình đơn Tiện ích của trình chỉnh sửa. Chiến lược phát hành đĩa đơn trình đơn 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ạng tiện ích bổ sung, tên trình đơn phụ 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 liên kết trực tiếp với tài liệu, tên của trình đơn phụ 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 chuyển đến 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 không thực sự được thêm vào cho đến khi Menu.addToUi() được gọi. Để biết thêm thông tin, hãy xem hướng dẫn chuyển đến trình đơn. Nhãn cho trình đơn cấp cao nhất phải là trong chữ hoa dòng tiêu đề (tất cả các từ chính đều viết hoa), mặc dù nhãn của trình đơn phụ phải ở viết hoa đầu câu (chỉ viết hoa chữ cái đầu tiên). Nếu tập lệnh được xuất bản dưới dạng tiện ích bổ sung, tham số caption sẽ bị bỏ qua và được thêm dưới dạng trình đơn phụ 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ênLoạiMô tả
captionStringNhãn của thực đơn, trong đó có tất cả các từ chính được viết hoa biểu thị một trình đơn cấp cao nhất, hoặc chỉ viết hoa từ đầu tiên đối với trình đơn phụ.

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 dữ liệu trong trình chỉnh sửa của người dùng với thông báo cho sẵn và nút "OK" . Chiến dịch này sẽ 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 người dùng đóng hộp thoại, nhưng Jdbc kết nối và LockService khoá không được 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 message, input field, and an "OK" button. The user can also
// close the dialog by clicking the close button in its title bar.
var ui = SpreadsheetApp.getUi();
var 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ênLoạiMô tả
promptStringThông báo xuất hiện trong hộp thoại.

Cầu thủ trả bóng

PromptResponse – Thể hiện phản hồi của người dùng.


prompt(prompt, buttons)

Mở hộp thoại nhập dữ liệu trong trình chỉnh sửa của người dùng với thông báo và một bộ nút cụ thể. Chiến dịch này sẽ 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 người dùng đóng hộp thoại, nhưng Jdbc kết nối và LockService khoá không được 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 message, input field, and "Yes" and "No" buttons. The user can
// also close the dialog by clicking the close button in its title bar.
var ui = SpreadsheetApp.getUi();
var 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ênLoạiMô tả
promptStringThông báo xuất hiện trong hộp thoại.
buttonsButtonSetNút này được đặt để hiển thị trong hộp thoại.

Cầu thủ trả bóng

PromptResponse – Thể hiện phản hồi của người dùng.


prompt(title, prompt, buttons)

Mở hộp thoại nhập dữ liệu trong trình chỉnh sửa của người dùng với tiêu đề, thông báo và tập hợp các nút. Phương thức này sẽ tạm ngưng tập lệnh phía máy chủ trong khi hộp thoại đang mở. Kịch bản 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 không tồn tại trên . Để biết thêm thông tin, hãy xem hướng dẫn để 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.
var ui = SpreadsheetApp.getUi();
var 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ênLoạiMô tả
titleStringTiêu đề xuất hiện ở phía trên hộp thoại.
promptStringThông báo xuất hiện trong hộp thoại.
buttonsButtonSetNút này được đặt để hiển thị trong hộp thoại.

Cầu thủ trả bóng

PromptResponse – Thể hiện phản hồi của người dùng.


showModalDialog(userInterface, title)

Mở hộp thoại cửa sổ phụ trong trình chỉnh sửa của người dùng có 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 trang web HtmlService . Để biết thêm thông tin, hãy xem hướng dẫn tạo hộp thoại và thanh bên.

Hộp thoại mô-đun 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. Theo thì hộp thoại không chế độ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ó chế độ.

// Display a modal dialog box with custom HtmlService content.
var 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ênLoạiMô tả
userInterfaceObjectHtmlOutput biểu thị giao diện cần hiển thị.
titleStringTiêu đề của hộp thoại; ghi đè mọi tiêu đề được đặt bằng cách gọi setTitle() trên đối tượng userInterface.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/script.container.ui

showModelessDialog(userInterface, title)

Mở một hộp thoại không chế độ 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 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 trang web HtmlService . Để biết thêm thông tin, hãy xem hướng dẫn tạo hộp thoại và thanh bên.

Hộp thoại không chế độ 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, phương thức hộp thoại hoặc thanh bên là lựa chọn tốt hơn so với hộp thoại không chế độ.

// Display a modeless dialog box with custom HtmlService content.
var 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ênLoạiMô tả
userInterfaceObjectHtmlOutput biểu thị giao diện cần hiển thị.
titleStringTiêu đề của hộp thoại; ghi đè mọi tiêu đề được đặt bằng cách gọi setTitle() trên đối tượng userInterface.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • 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 bằng nội dung phía máy khách tuỳ chỉnh. 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 phương thức lập trình, hãy gọi google.script.host.close() ở phía máy khách của trang web HtmlService . Để biết thêm thông tin, hãy xem hướng dẫn tạo hộp thoại và thanh bên.

Thanh bên hiển thị ở phía bên phải của trình chỉnh sửa đối với người dùng có môi trường sử dụng ngôn ngữ từ trái sang phải và ở bên trái của trình chỉnh sửa đối với các ngôn ngữ từ phải sang trái. Tất cả thanh bên do tập lệnh hiển thị rộng 300 pixel.

// Display a sidebar with custom HtmlService content.
var htmlOutput = HtmlService
    .createHtmlOutput('<p>A change of speed, a change of style...</p>')
    .setTitle('My add-on');
SpreadsheetApp.getUi().showSidebar(htmlOutput);

Tham số

TênLoạiMô tả
userInterfaceObjectHtmlOutput biểu thị giao diện cần hiển thị.

Ủy quyền

Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/script.container.ui

Các phương thức ngừng hoạt động