Class Ui

Kullanıcı arayüzü

Bir Google uygulaması için komut dosyasının menü, iletişim kutusu ve kenar çubuğu gibi özellikler eklemesine olanak tanıyan kullanıcı arayüzü ortamı örneği. Bir komut dosyası yalnızca açık bir düzenleyicinin geçerli örneği için kullanıcı arayüzüyle etkileşimde bulunabilir ve komut dosyasının düzenleyiciye kapsayıcıya bağlı olması gerekir.

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

Özellikler

ÖzellikTürAçıklama
ButtonButtonKullanıcının iletişim kutusunda hangi düğmeyi tıkladığını belirtmek için bir uyarı veya PromptResponse.getSelectedButton() tarafından döndürülen, önceden belirlenmiş, yerelleştirilmiş iletişim kutusu düğmelerini temsil eden bir sıralama.
ButtonSetButtonSetBir uyarı veya isteme eklenebilecek, önceden belirlenmiş, yerelleştirilmiş bir veya daha fazla iletişim kutusu düğmesi grubunu temsil eden enum.

Yöntemler

YöntemDönüş türüKısa açıklama
alert(prompt)ButtonKullanıcının düzenleyicisinde, belirtilen iletiyi ve "Tamam" düğmesini içeren bir iletişim kutusu açar.
alert(prompt, buttons)ButtonKullanıcının düzenleyicisinde, belirtilen iletiyi ve düğme kümesini içeren bir iletişim kutusu açar.
alert(title, prompt, buttons)ButtonKullanıcının düzenleyicisinde başlığı, iletiyi ve düğme kümesini 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üzenleyicisinde, belirtilen mesajı ve "Tamam" düğmesini içeren bir giriş iletişim kutusu açar.
prompt(prompt, buttons)PromptResponseKullanıcının düzenleyicisinde, belirtilen ileti ve düğme grubunu içeren bir giriş iletişim kutusu açar.
prompt(title, prompt, buttons)PromptResponseKullanıcının düzenleyicisinde başlığı, mesajı ve düğme kümesini içeren bir giriş iletişim kutusu açar.
showModalDialog(userInterface, title)voidKullanıcının düzenleyicisinde, özel istemci tarafı içeriği bulunan kalıcı bir iletişim kutusu açar.
showModelessDialog(userInterface, title)voidKullanıcının düzenleyicisinde, özel istemci tarafı içeriği olan modsuz bir iletişim kutusu açar.
showSidebar(userInterface)voidKullanıcının düzenleyicisinde, istemci tarafında özel içeriklerin bulunduğu bir kenar çubuğu açar.

Ayrıntılı belgeler

alert(prompt)

Kullanıcının düzenleyicisinde, belirtilen iletiyi 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 ettirilir ancak Jdbc bağlantıları ve LockService kilitleri askıya alma süresi boyunca devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzuna bakı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');

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üzenleyicisinde, belirtilen iletiyi ve düğme kü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 ettirilir ancak Jdbc bağlantıları ve LockService kilitleri askıya alma süresi boyunca devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzuna bakı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.');
}

Parametreler

AdTürAçıklama
promptStringİletişim kutusunda gösterilecek mesaj.
buttonsButtonSetDüğme, iletişim kutusunda gösterilecek şekilde ayarlandı.

Return

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


alert(title, prompt, buttons)

Kullanıcının düzenleyicisinde başlığı, iletiyi ve düğme kü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 ettirilir ancak Jdbc bağlantıları ve LockService kilitleri askıya alma süresi boyunca devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzuna bakı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.');
}

Parametreler

AdTürAçıklama
titleStringİletişim kutusunun üzerinde görüntülenecek başlık.
promptStringİletişim kutusunda gösterilecek mesaj.
buttonsButtonSetDüğme, iletişim kutusunda gösterilecek şekilde ayarlandı.

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. Menu.addToUi() çağrılana kadar menü gerçekten 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 dokümana bağlıysa alt menü adı, komut dosyasının adıyla eşleşir. Daha fazla bilgi için menü rehberine bakı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();
}

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ü rehberine bakın. Üst düzey menü etiketi, yalnızca ilk kelime büyük harfle yazılmalıdır (tüm büyük kelimeler büyük harfle gösterilmiştir), ancak bir alt menünün etiketi cümle düzeninde olmalıdır (yalnızca ilk kelime büyük harfle). Komut dosyası eklenti olarak yayınlanırsa caption parametresi yoksayılır ve menü, Uzantılar menüsünün bir alt menüsü (createAddonMenu() ile eşdeğer) 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 önemli kelimelerin büyük harfle yazıldığı veya yalnızca bir alt menünün ilk kelimesi büyük olacak şekilde menü etiketi.

Return

Menu: Yeni menü oluşturucu.


prompt(prompt)

Kullanıcının düzenleyicisinde, 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 ettirilir ancak Jdbc bağlantıları ve LockService kilitleri askıya alma süresi boyunca devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzuna bakı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.');
}

Parametreler

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

Return

PromptResponse: Kullanıcının yanıtının temsili.


prompt(prompt, buttons)

Kullanıcının düzenleyicisinde, belirtilen ileti 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 ettirilir ancak Jdbc bağlantıları ve LockService kilitleri askıya alma süresi boyunca devam etmez. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzuna bakı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.');
}

Parametreler

AdTürAçıklama
promptStringİletişim kutusunda gösterilecek mesaj.
buttonsButtonSetDüğme, iletişim kutusunda gösterilecek şekilde ayarlandı.

Return

PromptResponse: Kullanıcının yanıtının temsili.


prompt(title, prompt, buttons)

Kullanıcının düzenleyicisinde başlığı, mesajı ve düğme kü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üresi boyunca devam etmez. Daha fazla bilgi için iletişim kutusu ve kenar çubuğu kılavuzuna bakı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.');
}

Parametreler

AdTürAçıklama
titleStringİletişim kutusunun üzerinde görüntülenecek başlık.
promptStringİletişim kutusunda gösterilecek mesaj.
buttonsButtonSetDüğme, iletişim kutusunda gösterilecek şekilde ayarlandı.

Return

PromptResponse: Kullanıcının yanıtının temsili.


showModalDialog(userInterface, title)

Kullanıcının düzenleyicisinde, özel istemci tarafı içeriği bulunan kalıcı 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şeninin, sunucu tarafı komut dosyasıyla iletişim kurmak amacıyla HtmlService için google.script API'yi kullanarak eşzamansız geri çağırmalar yapması gerekir. İletişim kutusunu programatik olarak kapatmak için bir HtmlService web uygulamasının istemci tarafında google.script.host.close() çağrısı yapın. Daha fazla bilgi edinmek 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şim kurmasını engeller. Buna karşılık, modsuz iletişim kutuları ve kenar çubukları kullanıcının düzenleyiciyle etkileşimde bulunmasına olanak tanır. Neredeyse her durumda, modal iletişim kutusu veya kenar çubuğu, modsuz bir iletişim kutusundan daha iyi bir seçenektir.

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

Parametreler

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

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:

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

showModelessDialog(userInterface, title)

Kullanıcının düzenleyicisinde, özel istemci tarafı içeriği olan 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şeninin, sunucu tarafı komut dosyasıyla iletişim kurmak amacıyla HtmlService için google.script API'yi kullanarak eşzamansız geri çağırmalar yapması gerekir. İletişim kutusunu programatik olarak kapatmak için bir HtmlService web uygulamasının istemci tarafında google.script.host.close() çağrısı yapın. Daha fazla bilgi edinmek 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 girmesini sağlar. Buna karşılık, kalıcı iletişim kutuları çalışmaz. Neredeyse tüm durumlarda, modal iletişim kutusu veya kenar çubuğu modsuz bir iletişim kutusundan daha iyi bir seçenektir.

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

Parametreler

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

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:

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

showSidebar(userInterface)

Kullanıcının düzenleyicisinde, istemci tarafında özel içeriklerin bulunduğu 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şeninin, sunucu tarafı komut dosyasıyla iletişim kurmak amacıyla HtmlService için google.script API'yi kullanarak eşzamansız geri çağırmalar yapması gerekir. Kenar çubuğunu programatik olarak kapatmak için bir HtmlService web uygulamasının istemci tarafında google.script.host.close() çağrısı yapın. Daha fazla bilgi edinmek için iletişim kutuları ve kenar çubukları kılavuzuna 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 de düzenleyicinin sol tarafında görüntülenir. Komut dosyaları tarafından gösterilen tüm kenar çubukları 300 piksel genişliğindedir.

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

Parametreler

AdTürAçıklama
userInterfaceObjectGörüntülenecek arayüzü temsil eden HtmlOutput.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamların biri veya daha fazlasıyla yetkilendirme gerektirir:

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

Kullanımdan kaldırılan yöntemler