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ülk | Tür | Açıklama |
---|---|---|
Button | Button | Kullanıcının bir iletişim kutusunda hangi düğmeyi tıkladığını belirtmek için uyarı veya Prompt tarafından döndürülen önceden belirlenmiş, yerelleştirilmiş iletişim kutusu düğmelerini temsil eden bir enum. |
Button | Button | Uyarı veya istem'e eklenebilecek önceden belirlenmiş, yerelleştirilmiş bir veya daha fazla iletişim kutusu düğmesi grubunu temsil eden bir enum. |
Yöntemler
Yöntem | Dönüş türü | Kısa açıklama |
---|---|---|
alert(prompt) | Button | Kullanıcının düzenleyicide, belirtilen mesajı ve "Tamam" düğmesini içeren bir iletişim kutusu açılır. |
alert(prompt, buttons) | Button | Kullanıcının düzenleyicide belirli bir mesaj ve düğme grubu içeren bir iletişim kutusu açar. |
alert(title, prompt, buttons) | Button | Kullanıcının düzenleyicide belirtilen başlığı, mesajı ve düğme grubunu içeren bir iletişim kutusu açar. |
create | Menu | Düzenleyicinin Uzantılar menüsüne alt menü eklemek için kullanılabilecek bir oluşturucu oluşturur. |
create | Menu | Düzenleyicinin kullanıcı arayüzüne menü eklemek için kullanılabilecek bir oluşturucu oluşturur. |
prompt(prompt) | Prompt | Kullanıcının düzenleyicide, belirtilen mesajı ve "Tamam" düğmesini içeren bir giriş iletişim kutusu açar. |
prompt(prompt, buttons) | Prompt | Kullanı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) | Prompt | Kullanıcının düzenleyicide belirtilen başlığı, mesajı ve düğme grubunu içeren bir giriş iletişim kutusu açar. |
show | void | Kullanıcının düzenleyicide özel istemci tarafı içeriği içeren bir modal iletişim kutusu açar. |
show | void | Kullanıcının düzenleyicide özel istemci tarafı içeriği içeren modsuz bir iletişim kutusu açar. |
show | void | Kullanı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çılır. 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 Lock
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
Ad | Tür | Açıklama |
---|---|---|
prompt | String | İ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 Jdbc
bağlantılar ve Lock
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
Ad | Tür | Açıklama |
---|---|---|
prompt | String | İletişim kutusunda gösterilecek mesaj. |
buttons | Button | İ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 Lock
kilitleri askıya alma sırasında 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. 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
Ad | Tür | Açıklama |
---|---|---|
title | String | İletişim kutusunun üzerinde gösterilecek başlık. |
prompt | String | İletişim kutusunda gösterilecek mesaj. |
buttons | Button | İletişim kutusunda gösterilecek düğme. |
Return
Button
: Kullanıcının tıkladığı düğme.
create Addon Menu()
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.
create Menu(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ü, create
'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
Ad | Tür | Açıklama |
---|---|---|
caption | String | Ü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 Lock
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
Ad | Tür | Açıklama |
---|---|---|
prompt | String | İletişim kutusunda gösterilecek mesaj. |
Return
Prompt
: 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 Lock
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
Ad | Tür | Açıklama |
---|---|---|
prompt | String | İletişim kutusunda gösterilecek mesaj. |
buttons | Button | İletişim kutusunda gösterilecek düğme. |
Return
Prompt
: 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 Lock
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
Ad | Tür | Açıklama |
---|---|---|
title | String | İletişim kutusunun üzerinde gösterilecek başlık. |
prompt | String | İletişim kutusunda gösterilecek mesaj. |
buttons | Button | İletişim kutusunda gösterilecek düğme. |
Return
Prompt
: Kullanıcının yanıtını temsil eder.
show Modal Dialog(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 Html
için google.script
API'sini kullanarak eşzamansız geri çağırma yapması gerekir. İletişim kutusunu programatik olarak kapatmak için Html
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
Ad | Tür | Açıklama |
---|---|---|
user | Object | Gösterilecek arayüzü temsil eden bir Html
|
title | String | İletişim kutusunun başlığı; user nesnesinde set ç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
show Modeless Dialog(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 Html
için google.script
API'sini kullanarak asynkron geri çağırma yapması gerekir. İletişim kutusunu programatik olarak kapatmak için Html
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
Ad | Tür | Açıklama |
---|---|---|
user | Object | Gösterilecek arayüzü temsil eden bir Html
|
title | String | İletişim kutusunun başlığı; user nesnesinde set ç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
show Sidebar(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 Html
için google.script
API'yi kullanarak eşzamansız geri çağırma yapması gerekir. Yan paneli programatik olarak kapatmak için Html
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
Ad | Tür | Açıklama |
---|---|---|
user | Object | Gösterilecek arayüzü temsil eden bir Html
|
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