Class Ui

Ui

Komut dosyasının menü, iletişim kutusu ve kenar çubuğu gibi özellikler eklemesine olanak tanıyan, Google uygulamasına ait kullanıcı arayüzü ortamı örneği. Bir komut dosyası, yalnızca açık düzenleyicinin mevcut örneğinin kullanıcı arayüzüyle etkileşime geçebilir ve yalnızca komut dosyası düzenleyiciye kapsayıcı bağlı ise bu etkileşim gerçekleşebilir.

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

Özellikler

MülkTürAçıklama
ButtonButtonKullanıcının bir iletişim kutusunda hangi düğmeyi tıkladığını belirtmek için uyarı veya PromptResponse.getSelectedButton() tarafından döndürülen önceden belirlenmiş, yerelleştirilmiş iletişim kutusu düğmelerini temsil eden bir enum.
ButtonSetButtonSetUyarı veya istem'e eklenebilecek önceden belirlenmiş, yerelleştirilmiş bir veya daha fazla iletişim kutusu grubunu temsil eden bir enum.

Yöntemler

YöntemDönüş türüKısa açıklama
alert(prompt)ButtonKullanıcının düzenleyicide, belirtilen mesajı ve "Tamam" düğmesini içeren bir iletişim kutusu açar.
alert(prompt, buttons)ButtonKullanıcının düzenleyicide belirli bir mesaj ve düğme grubu içeren bir iletişim kutusu açar.
alert(title, prompt, buttons)ButtonKullanıcının düzenleyicide belirtilen başlığı, mesajı ve düğme grubunu içeren bir iletişim kutusu açar.
createAddonMenu()MenuDüzenleyicinin Uzantılar menüsüne alt menü eklemek için kullanılabilecek bir oluşturucu oluşturur.
createMenu(caption)MenuDüzenleyicinin kullanıcı arayüzüne menü eklemek için kullanılabilecek bir oluşturucu oluşturur.
prompt(prompt)PromptResponseKullanıcının düzenleyicide, belirtilen mesajı ve "Tamam" düğmesini içeren bir giriş iletişim kutusu açar.
prompt(prompt, buttons)PromptResponseKullanıcının düzenleyicide belirli bir mesaj ve düğme grubu içeren bir giriş iletişim kutusu açar.
prompt(title, prompt, buttons)PromptResponseKullanıcının düzenleyicide belirtilen başlığı, mesajı ve düğme grubunu içeren bir giriş iletişim kutusu açar.
showModalDialog(userInterface, title)voidKullanıcının düzenleyicide özel istemci tarafı içeriği içeren bir modal iletişim kutusu açar.
showModelessDialog(userInterface, title)voidKullanıcının düzenleyicide özel istemci tarafı içeriği içeren modsuz bir iletişim kutusu açar.
showSidebar(userInterface)voidKullanıcının düzenleyicide özel istemci tarafı içeriği içeren bir kenar çubuğu açar.

Ayrıntılı dokümanlar

alert(prompt)

Kullanıcının düzenleyicide, belirtilen mesajı ve "Tamam" düğmesini içeren bir iletişim kutusu açar. Bu yöntem, iletişim kutusu açıkken sunucu tarafı komut dosyasını askıya alır. Kullanıcı iletişim kutusunu kapattıktan sonra komut dosyası devam eder ancak Jdbcbağlantılar ve LockService kilitleri askıya alma sırasında devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzunu inceleyin.

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

Parametreler

AdTürAçıklama
promptStringİletişim kutusunda gösterilecek mesaj.

Return

Button: Kullanıcının tıkladığı düğme.


alert(prompt, buttons)

Kullanıcının düzenleyicide belirli bir mesaj ve düğme grubu içeren bir iletişim kutusu açar. Bu yöntem, iletişim kutusu açıkken sunucu tarafı komut dosyasını askıya alır. Kullanıcı iletişim kutusunu kapattıktan sonra komut dosyası devam eder ancak Jdbcbağlantılar ve LockService kilitleri askıya alma sırasında devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzunu inceleyin.

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

Parametreler

AdTürAçıklama
promptStringİletişim kutusunda gösterilecek mesaj.
buttonsButtonSetİletişim kutusunda gösterilecek düğme.

Return

Button: Kullanıcının tıkladığı düğme.


alert(title, prompt, buttons)

Kullanıcının düzenleyicide belirtilen başlığı, mesajı ve düğme grubunu içeren bir iletişim kutusu açar. Bu yöntem, iletişim kutusu açıkken sunucu tarafı komut dosyasını askıya alır. Kullanıcı iletişim kutusunu kapattıktan sonra komut dosyası devam eder ancak Jdbc bağlantıları ve LockService kilitleri askıya alma sırasında devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzunu inceleyin.

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

Parametreler

AdTürAçıklama
titleStringİletişim kutusunun üzerinde gösterilecek başlık.
promptStringİletişim kutusunda gösterilecek mesaj.
buttonsButtonSetİletişim kutusunda gösterilecek düğme.

Return

Button: Kullanıcının tıkladığı düğme.


createAddonMenu()

Düzenleyicinin Uzantılar menüsüne alt menü eklemek için kullanılabilecek bir oluşturucu oluşturur. Menü, Menu.addToUi() çağrılana kadar güncellenmez. Komut dosyası eklenti olarak çalışıyorsa alt menü adı, eklentinin web mağazasındaki adıyla eşleşir. Komut dosyası doğrudan belgeye bağlıysa alt menü adı, komut dosyasının adıyla eşleşir. Daha fazla bilgi için menülerle ilgili kılavuzu inceleyin.

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

Return

Menu: Yeni menü oluşturucu.


createMenu(caption)

Düzenleyicinin kullanıcı arayüzüne menü eklemek için kullanılabilecek bir oluşturucu oluşturur. Menu.addToUi() çağrılana kadar menü aslında eklenmez. Daha fazla bilgi için menülerle ilgili kılavuzu inceleyin. Üst düzey bir menünün etiketi başlık düzeninde (tüm önemli kelimeler büyük harfle yazılmış) olmalıdır. Alt menü etiketi ise cümle düzeninde (yalnızca ilk kelime büyük harfle yazılmış) olmalıdır. Komut dosyası eklenti olarak yayınlanırsa caption parametresi yoksayılır ve menü, createAddonMenu()'a eşdeğer şekilde Uzantılar menüsünün bir alt menüsü olarak eklenir.

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

Parametreler

AdTürAçıklama
captionStringÜst düzey bir menü için tüm büyük kelimelerin büyük harfle yazıldığı veya alt menü için yalnızca ilk kelimenin büyük harfle yazıldığı menünün etiketi.

Return

Menu: Yeni menü oluşturucu.


prompt(prompt)

Kullanıcının düzenleyicide, belirtilen mesajı ve "Tamam" düğmesini içeren bir giriş iletişim kutusu açar. Bu yöntem, iletişim kutusu açıkken sunucu tarafı komut dosyasını askıya alır. Kullanıcı iletişim kutusunu kapattıktan sonra komut dosyası devam eder ancak Jdbc bağlantıları ve LockService kilitleri askıya alma sırasında devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzunu inceleyin.

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

Parametreler

AdTürAçıklama
promptStringİletişim kutusunda gösterilecek mesaj.

Return

PromptResponse: Kullanıcının yanıtını temsil eder.


prompt(prompt, buttons)

Kullanıcının düzenleyicide belirli bir mesaj ve düğme grubu içeren bir giriş iletişim kutusu açar. Bu yöntem, iletişim kutusu açıkken sunucu tarafı komut dosyasını askıya alır. Kullanıcı iletişim kutusunu kapattıktan sonra komut dosyası devam eder ancak Jdbc bağlantıları ve LockService kilitleri askıya alma sırasında devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzunu inceleyin.

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

Parametreler

AdTürAçıklama
promptStringİletişim kutusunda gösterilecek mesaj.
buttonsButtonSetİletişim kutusunda gösterilecek düğme.

Return

PromptResponse: Kullanıcının yanıtını temsil eder.


prompt(title, prompt, buttons)

Kullanıcının düzenleyicide belirtilen başlığı, mesajı ve düğme grubunu içeren bir giriş iletişim kutusu açar. Bu yöntem, iletişim kutusu açıkken sunucu tarafı komut dosyasını askıya alır. Kullanıcı iletişim kutusunu kapattıktan sonra komut dosyası devam eder ancak Jdbc bağlantıları ve LockService kilitleri askıya alma sırasında devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzunu inceleyin.

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

Parametreler

AdTürAçıklama
titleStringİletişim kutusunun üzerinde gösterilecek başlık.
promptStringİletişim kutusunda gösterilecek mesaj.
buttonsButtonSetİletişim kutusunda gösterilecek düğme.

Return

PromptResponse: Kullanıcının yanıtını temsil eder.


showModalDialog(userInterface, title)

Kullanıcının düzenleyicide özel istemci tarafı içeriği içeren bir modal iletişim kutusu açar. Bu yöntem, iletişim kutusu açıkken sunucu tarafı komut dosyasını askıya almaz. İstemci tarafı bileşenin, sunucu tarafı komut dosyasıyla iletişim kurabilmesi için HtmlService için google.script API'yi kullanarak eşzamansız geri çağırma yapması gerekir. İletişim kutusunu programatik olarak kapatmak için HtmlService web uygulamasının istemci tarafında google.script.host.close() işlevini çağırın. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzuna bakın.

Kalıcı iletişim kutuları, kullanıcının iletişim kutusu dışında herhangi bir öğeyle etkileşimde bulunmasını engeller. Buna karşılık, modsuz iletişim kutuları ve yan paneller, kullanıcının düzenleyiciyle etkileşim kurmasına olanak tanır. Neredeyse her durumda, modal iletişim kutusu veya kenar çubuğu, modsuz iletişim kutusundan daha iyi bir seçimdir.

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

Parametreler

AdTürAçıklama
userInterfaceObjectGösterilecek arayüzü temsil eden bir HtmlOutput
titleStringİletişim kutusunun başlığı; userInterface nesnesinde setTitle() çağrılarak ayarlanan tüm başlıkları geçersiz kılar.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

showModelessDialog(userInterface, title)

Kullanıcının düzenleyicide özel istemci tarafı içeriği içeren modsuz bir iletişim kutusu açar. Bu yöntem, iletişim kutusu açıkken sunucu tarafı komut dosyasını askıya almaz. İstemci tarafı bileşenin, sunucu tarafı komut dosyasıyla iletişim kurabilmesi için HtmlService için google.script API'sini kullanarak asynkron geri çağırma yapması gerekir. İletişim kutusunu programatik olarak kapatmak için HtmlService web uygulamasının istemci tarafında google.script.host.close() işlevini çağırın. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzuna bakın.

Modsuz iletişim kutuları, kullanıcının iletişim kutusunun arkasındaki düzenleyiciyle etkileşime geçmesine olanak tanır. Buna karşılık, modal iletişim kutuları bu tür bir etkileşime izin vermez. Neredeyse her durumda, modsuz iletişim kutusundan daha iyi bir seçenek modal iletişim kutusu veya yan paneldir.

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

Parametreler

AdTürAçıklama
userInterfaceObjectGösterilecek arayüzü temsil eden bir HtmlOutput
titleStringİletişim kutusunun başlığı; userInterface nesnesinde setTitle() çağrılarak ayarlanan tüm başlıkları geçersiz kılar.

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

showSidebar(userInterface)

Kullanıcının düzenleyicide özel istemci tarafı içeriği içeren bir kenar çubuğu açar. Bu yöntem, kenar çubuğu açıkken sunucu tarafı komut dosyasını askıya almaz. İstemci tarafı bileşenin, sunucu tarafı komut dosyasıyla iletişim kurabilmesi için HtmlService için google.script API'yi kullanarak eşzamansız geri çağırma yapması gerekir. Yan paneli programatik olarak kapatmak için HtmlService web uygulamasının istemci tarafında google.script.host.close() işlevini çağırın. Daha fazla bilgi için iletişim kutuları ve yan panellerle ilgili kılavuza bakın.

Kenar çubuğu, ortamlarında soldan sağa bir dil kullanan kullanıcılar için düzenleyicinin sağ tarafında, sağdan sola diller için ise düzenleyicinin sol tarafında gösterilir. Komut dosyalarıyla gösterilen tüm kenar çubukları 300 piksel genişliğindedir.

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

Parametreler

AdTürAçıklama
userInterfaceObjectGösterilecek arayüzü temsil eden bir HtmlOutput

Yetkilendirme

Bu yöntemi kullanan komut dosyalarının aşağıdaki kapsamlardan bir veya daha fazlası için yetkilendirilmesi gerekir:

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

Kullanımdan kaldırılan yöntemler