Class Ui

Ui

Komut dosyasının menüler, iletişim kutuları ve kenar çubukları gibi özellikler eklemesine olanak tanıyan bir Google uygulamasının kullanıcı arayüzü ortamı örneği. Bir komut dosyası yalnızca açık bir düzenleyicinin mevcut örneğinin kullanıcı arayüzüyle etkileşimde bulunabilir ve yalnızca komut dosyası düzenleyiciye kapsayıcıya bağlıysa 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
ButtonButtonBir iletişim kutusunda kullanıcının hangi düğmeyi tıkladığını belirtmek için uyarı veya PromptResponse.getSelectedButton() tarafından döndürülen, önceden belirlenmiş ve yerelleştirilmiş iletişim kutusu düğmelerini temsil eden bir enum.
ButtonSetButtonSetBir uyarıya veya isteme eklenebilen, önceden belirlenmiş, yerelleştirilmiş bir veya daha fazla iletişim kutusu düğmesi kümesini temsil eden bir enum.

Yöntemler

YöntemDönüş türüKısa açıklama
alert(prompt)ButtonKullanıcının düzenleyicisinde, verilen mesajı ve "Tamam" düğmesini içeren bir iletişim kutusu açar.
alert(prompt, buttons)ButtonKullanıcının düzenleyicisinde, belirtilen mesaj ve düğme grubuyla bir iletişim kutusu açar.
alert(title, prompt, buttons)ButtonKullanıcının düzenleyicisinde, belirtilen başlık, ileti ve düğme grubuyla bir iletişim kutusu açar.
createAddonMenu()MenuAlt menüleri düzenleyicinin Uzantılar menüsüne 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, verilen mesaj ve "Tamam" düğmesiyle bir giriş iletişim kutusu açar.
prompt(prompt, buttons)PromptResponseKullanıcının düzenleyicisinde, belirtilen ileti ve düğme grubuyla bir giriş iletişim kutusu açar.
prompt(title, prompt, buttons)PromptResponseKullanıcının düzenleyicisinde, belirtilen başlık, ileti ve düğme grubuyla bir giriş iletişim kutusu açar.
showModalDialog(userInterface, title)voidKullanıcının düzenleyicisinde özel istemci tarafı içeriği içeren bir modal iletişim kutusu açar.
showModelessDialog(userInterface, title)voidKullanıcının düzenleyicisinde özel istemci tarafı içeriğiyle birlikte modsuz bir iletişim kutusu açar.
showSidebar(userInterface)voidKullanıcının düzenleyicisinde özel istemci tarafı içeriği içeren bir kenar çubuğu açar.

Ayrıntılı belgeler

alert(prompt)

Kullanıcının düzenleyicisinde, verilen 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 kilitler askıya alma süresince kalıcı olmaz. 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 mesaj ve düğme grubuyla 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 kilitler askıya alma süresince kalıcı olmaz. 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.
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 grubu.

Return

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


alert(title, prompt, buttons)

Kullanıcının düzenleyicisinde, belirtilen başlık, ileti ve düğme grubuyla 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üresince kalıcı olmaz. 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.
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 grubu.

Return

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


createAddonMenu()

Alt menüleri düzenleyicinin Uzantılar menüsüne 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ı, web mağazasındaki eklentinin 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ü kılavuzuna 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() yöntemi çağrılana kadar menü eklenmez. Daha fazla bilgi için menü kılavuzuna bakın. Bir üst düzey menünün etiketi başlık düzeninde (tüm önemli kelimeler büyük harfle yazılır), alt menünün etiketi ise normal cümle düzeninde (yalnızca ilk kelime büyük harfle yazılır) olmalıdır. Komut dosyası eklenti olarak yayınlanırsa caption parametresi yoksayılır ve menü, Uzantılar menüsünün alt menüsü olarak eklenir (createAddonMenu() ile eşdeğerdir).

// 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 ilk harfi büyük olacak şekilde, alt menü için ise yalnızca ilk kelimenin ilk harfi büyük olacak şekilde menü etiketi.

Return

Menu: Yeni menü oluşturucu.


prompt(prompt)

Kullanıcının düzenleyicisinde, verilen mesaj ve "Tamam" düğmesiyle 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üresince kalıcı olmaz. 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.
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ın gösterimi.


prompt(prompt, buttons)

Kullanıcının düzenleyicisinde, belirtilen ileti ve düğme grubuyla 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üresince kalıcı olmaz. 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.
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 grubu.

Return

PromptResponse: Kullanıcının yanıtının gösterimi.


prompt(title, prompt, buttons)

Kullanıcının düzenleyicisinde, belirtilen başlık, ileti ve düğme grubuyla 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 işlemi boyunca kalıcı olmaz. Daha fazla bilgi için iletişim kutuları ve kenar çubukları 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.
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 grubu.

Return

PromptResponse: Kullanıcının yanıtının gösterimi.


showModalDialog(userInterface, title)

Kullanıcının düzenleyicisinde ö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 kurmak için HtmlService için google.script API'sini 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() 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 kenar çubukları, kullanıcının düzenleyiciyle etkileşimde bulunmasına olanak tanır. Neredeyse her durumda, modsuz iletişim kutusu yerine modlu iletişim kutusu veya kenar çubuğu 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ığıdır. userInterface nesnesinde setTitle() çağrılarak ayarlanan başlıkları geçersiz kılar.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan 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ğiyle birlikte 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 kurmak için HtmlService için google.script API'sini 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() işlevini çağırın. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzuna bakın.

Kalıcı olmayan iletişim kutuları, kullanıcının iletişim kutusunun arkasındaki düzenleyiciyle etkileşimde bulunmasına olanak tanır. Buna karşılık, modal iletişim kutuları bunu yapmaz. Neredeyse her durumda, modsuz iletişim kutusu yerine modlu iletişim kutusu veya kenar çubuğu daha iyi bir seçimdir.

// 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ığıdır. userInterface nesnesinde setTitle() çağrılarak ayarlanan başlıkları geçersiz kılar.

Yetkilendirme

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

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

showSidebar(userInterface)

Kullanıcının düzenleyicisinde ö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 kurmak için HtmlService için google.script API'sini 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() işlevini çağırın. Daha fazla bilgi için iletişim kutuları ve kenar çubukları kılavuzuna bakın.

Kenar çubuğu, ortamlarında soldan sağa dil kullanılan kullanıcılar için düzenleyicinin sağ tarafında, sağdan sola dil kullanılan kullanıcılar için ise sol tarafında gösterilir. Komut dosyaları tarafından 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ı, aşağıdaki kapsamlardan biri veya daha fazlasıyla yetkilendirme gerektirir:

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

Kullanımdan kaldırılan yöntemler