Class Ui

Ui

스크립트가 메뉴, 대화상자, 사이드바 등의 기능을 사용할 수 있습니다 스크립트는 열려 있는 편집기의 현재 인스턴스, 스크립트가 편집기에 컨테이너 결합된 경우에만 해당합니다.

// 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.');
}

속성

속성유형설명
ButtonButton알림 또는 PromptResponse.getSelectedButton()에서 반환한 사전 정의된 현지화된 대화상자 버튼을 나타내는 열거형입니다. 사용자가 클릭한 대화상자의 버튼
ButtonSetButtonSet미리 결정되고 현지화된 하나 이상의 대화상자 버튼 집합을 나타내는 enum입니다. 알림 또는 프롬프트에 추가됨

메서드

메서드반환 유형간략한 설명
alert(prompt)Button사용자 편집기에서 지정된 메시지와 'OK'가 포함된 대화상자를 엽니다. 버튼을 클릭합니다.
alert(prompt, buttons)Button지정된 메시지와 버튼 집합이 있는 대화상자를 사용자 편집기에서 엽니다.
alert(title, prompt, buttons)Button사용자 편집기에서 지정된 제목, 메시지 및 버튼 집합이 있는 대화상자를 엽니다.
createAddonMenu()Menu편집기의 확장 프로그램 메뉴에 하위 메뉴를 삽입하는 데 사용할 수 있는 빌더를 만듭니다.
createMenu(caption)Menu편집기의 사용자 인터페이스에 메뉴를 추가하는 데 사용할 수 있는 빌더를 만듭니다.
prompt(prompt)PromptResponse사용자 편집기에서 지정된 메시지와 'OK'가 포함된 입력 대화상자를 엽니다. 버튼을 클릭합니다.
prompt(prompt, buttons)PromptResponse지정된 메시지와 버튼 모음이 있는 사용자 편집기의 입력 대화상자를 엽니다.
prompt(title, prompt, buttons)PromptResponse사용자 편집기에서 지정된 제목, 메시지 및 집합의 입력 대화상자를 엽니다. 버튼을 클릭합니다.
showModalDialog(userInterface, title)void맞춤 클라이언트 측 콘텐츠가 포함된 모달 대화상자를 사용자 편집기에서 엽니다.
showModelessDialog(userInterface, title)void맞춤 클라이언트 측 콘텐츠가 포함된 사용자 편집기에서 모델리스 대화상자를 엽니다.
showSidebar(userInterface)void맞춤 클라이언트 측 콘텐츠가 있는 사용자 편집기에서 사이드바를 엽니다.

자세한 문서

alert(prompt)

사용자 편집기에서 지정된 메시지와 'OK'가 포함된 대화상자를 엽니다. 버튼을 클릭합니다. 이 방법 대화상자가 열려 있는 동안 서버 측 스크립트를 정지합니다. 사용자 입력 후 스크립트가 다시 시작됨 대화상자를 닫지만 Jdbc 연결 및 LockService 잠금은 정지 기간 내내 유지됩니다 자세한 내용은 대화상자 및 사이드바 가이드를 참고하세요.

// 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');

매개변수

이름유형설명
promptString대화상자에 표시할 메시지입니다.

리턴

Button - 사용자가 클릭한 버튼입니다.


alert(prompt, buttons)

지정된 메시지와 버튼 집합이 있는 대화상자를 사용자 편집기에서 엽니다. 이 방법 대화상자가 열려 있는 동안 서버 측 스크립트를 정지합니다. 사용자 입력 후 스크립트가 다시 시작됨 대화상자를 닫지만 Jdbc 연결 및 LockService 잠금은 정지 기간 내내 유지됩니다 자세한 내용은 대화상자 및 사이드바 가이드를 참고하세요.

// 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.');
}

매개변수

이름유형설명
promptString대화상자에 표시할 메시지입니다.
buttonsButtonSet대화상자에 표시하도록 설정된 버튼입니다.

리턴

Button - 사용자가 클릭한 버튼입니다.


alert(title, prompt, buttons)

사용자 편집기에서 지정된 제목, 메시지 및 버튼 집합이 있는 대화상자를 엽니다. 이 메서드는 대화상자가 열려 있는 동안 서버 측 스크립트를 정지합니다. 스크립트가 사용자가 대화상자를 닫지만 Jdbc 연결 및 LockService 잠금은 정지 기간 내내 유지됩니다 자세한 내용은 대화상자 및 사이드바 가이드를 참고하세요.

// 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.');
}

매개변수

이름유형설명
titleString대화상자 위에 표시할 제목입니다.
promptString대화상자에 표시할 메시지입니다.
buttonsButtonSet대화상자에 표시하도록 설정된 버튼입니다.

리턴

Button - 사용자가 클릭한 버튼입니다.


createAddonMenu()

편집기의 확장 프로그램 메뉴에 하위 메뉴를 삽입하는 데 사용할 수 있는 빌더를 만듭니다. 이 메뉴는 Menu.addToUi()가 호출될 때까지 실제로 업데이트되지 않습니다. 스크립트가 실행 중인 경우 사용자가 부가기능으로 사용하는 경우 하위 메뉴 이름이 웹 스토어의 부가기능 이름과 일치하게 됩니다. 스크립트가 문서에 직접 바인딩된 경우 하위 메뉴 이름 스크립트의 이름과 일치합니다. 자세한 내용은 메뉴 가이드를 참고하세요.

// 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();
}

리턴

Menu - 새 메뉴 빌더입니다.


createMenu(caption)

편집기의 사용자 인터페이스에 메뉴를 추가하는 데 사용할 수 있는 빌더를 만듭니다. 메뉴가 Menu.addToUi()가 호출될 때까지 실제로 추가됩니다. 자세한 내용은 메뉴 가이드를 참고하세요. 최상위 메뉴의 라벨은 다음과 같아야 합니다. 제목 첫 글자 대문자 (모든 주요 단어는 대문자), 하위 메뉴의 라벨은 문장 첫 글자 대문자 (첫 단어만 대문자로 표시) 스크립트가 부가기능으로 게시되면 caption 매개변수가 무시되고 메뉴는 확장 프로그램 메뉴의 하위 메뉴(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();
}

매개변수

이름유형설명
captionString메뉴의 라벨로, 최상위 메뉴의 경우 모든 주요 단어를 대문자로 표기합니다. 또는 하위 메뉴의 첫 번째 단어만 대문자로 표시할 수 있습니다.

리턴

Menu - 새 메뉴 빌더입니다.


prompt(prompt)

사용자 편집기에서 지정된 메시지와 'OK'가 포함된 입력 대화상자를 엽니다. 버튼을 클릭합니다. 이 메서드는 대화상자가 열려 있는 동안 서버 측 스크립트를 중단합니다. 스크립트가 사용자가 대화상자를 닫지만 Jdbc 연결 및 LockService 잠금은 정지 기간 내내 유지됩니다 자세한 내용은 대화상자 및 사이드바 가이드를 참고하세요.

// 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.');
}

매개변수

이름유형설명
promptString대화상자에 표시할 메시지입니다.

리턴

PromptResponse - 사용자의 응답을 나타냅니다.


prompt(prompt, buttons)

지정된 메시지와 버튼 모음이 있는 사용자 편집기의 입력 대화상자를 엽니다. 이 메서드는 대화상자가 열려 있는 동안 서버 측 스크립트를 중단합니다. 스크립트가 사용자가 대화상자를 닫지만 Jdbc 연결 및 LockService 잠금은 정지 기간 내내 유지됩니다 자세한 내용은 대화상자 및 사이드바 가이드를 참고하세요.

// 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.');
}

매개변수

이름유형설명
promptString대화상자에 표시할 메시지입니다.
buttonsButtonSet대화상자에 표시하도록 설정된 버튼입니다.

리턴

PromptResponse - 사용자의 응답을 나타냅니다.


prompt(title, prompt, buttons)

사용자 편집기에서 지정된 제목, 메시지 및 집합의 입력 대화상자를 엽니다. 버튼을 클릭합니다. 이 메서드는 대화상자가 열려 있는 동안 서버 측 스크립트를 정지합니다. 스크립트 사용자가 대화상자를 닫은 후 재개되지만 Jdbc 연결 및 LockService 잠금이 보류됩니다. 자세한 내용은 대화상자 및 사이드바를 확인하세요.

// 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.');
}

매개변수

이름유형설명
titleString대화상자 위에 표시할 제목입니다.
promptString대화상자에 표시할 메시지입니다.
buttonsButtonSet대화상자에 표시하도록 설정된 버튼입니다.

리턴

PromptResponse - 사용자의 응답을 나타냅니다.


showModalDialog(userInterface, title)

맞춤 클라이언트 측 콘텐츠가 포함된 모달 대화상자를 사용자 편집기에서 엽니다. 이 메서드는 않습니다. 서버 측 스크립트에서 클라이언트 측 구성요소는 HtmlServicegoogle.script API를 사용하여 비동기 콜백을 실행해야 합니다. 대화상자 닫기 를 호출합니다. HtmlService 웹의 클라이언트 측 google.script.host.close() 있습니다. 자세한 내용은 대화상자 및 사이드바를 선택합니다.

모달 대화상자는 사용자가 대화상자 외의 다른 항목과 상호작용하지 못하게 합니다. 작성자: 반면 모더리스 대화상자사이드바를 사용하면 사용자가 편집기와 상호작용할 수 있습니다. 거의 모든 경우 모달리스 대화상자보다 모달 대화상자나 사이드바가 더 나은 선택입니다.

// 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');

매개변수

이름유형설명
userInterfaceObjectHtmlOutput 표시할 인터페이스를 나타냅니다.
titleString대화상자의 제목입니다. setTitle()를 호출하여 설정된 모든 제목을 재정의합니다. userInterface 객체

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

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

showModelessDialog(userInterface, title)

맞춤 클라이언트 측 콘텐츠가 포함된 사용자 편집기에서 모델리스 대화상자를 엽니다. 이 방법 대화상자가 열려 있는 동안 서버 측 스크립트를 정지하지 않습니다. 서버 측 스크립트의 경우 클라이언트 측 구성요소는 HtmlServicegoogle.script API를 사용하여 비동기 콜백을 실행해야 합니다. 대화상자 닫기 를 호출합니다. HtmlService 웹의 클라이언트 측 google.script.host.close() 있습니다. 자세한 내용은 대화상자 및 사이드바를 선택합니다.

모드리스 대화상자를 사용하면 사용자가 대화상자 이면의 편집기와 상호작용할 수 있습니다. 이와 대조적으로 모달 대화상자는 그렇지 않습니다. 거의 모든 경우에 모달은 모달리스 대화상자보다 대화상자 또는 사이드바가 더 나은 선택입니다.

// 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');

매개변수

이름유형설명
userInterfaceObjectHtmlOutput 표시할 인터페이스를 나타냅니다.
titleString대화상자의 제목입니다. setTitle()를 호출하여 설정된 모든 제목을 재정의합니다. userInterface 객체

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

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

showSidebar(userInterface)

맞춤 클라이언트 측 콘텐츠가 있는 사용자 편집기에서 사이드바를 엽니다. 이 메서드는 않습니다. 서버 측 스크립트에서 클라이언트 측 구성요소는 HtmlServicegoogle.script API를 사용하여 비동기 콜백을 실행해야 합니다. 사이드바 닫기 를 호출합니다. HtmlService 웹의 클라이언트 측 google.script.host.close() 있습니다. 자세한 내용은 대화상자 및 사이드바를 선택합니다.

사이드바는 단일 대시보드를 사용하는 환경의 사용자를 위해 편집기 오른쪽에 표시됩니다. 오른쪽에서 왼쪽으로 쓰는 언어의 경우 편집기 왼쪽에 있습니다. 전체 스크립트에 의해 표시되는 사이드바의 너비는 300픽셀입니다.

// 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);

매개변수

이름유형설명
userInterfaceObjectHtmlOutput 표시할 인터페이스를 나타냅니다.

승인

이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.

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

지원 중단된 메서드