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
Özellik | Tür | Açıklama |
---|---|---|
Button | Button | Kullanı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. |
ButtonSet | ButtonSet | Bir uyarı veya isteme eklenebilecek, önceden belirlenmiş, yerelleştirilmiş bir veya daha fazla iletişim kutusu düğmesi grubunu temsil eden enum. |
Yöntemler
Yöntem | Dönüş türü | Kısa açıklama |
---|---|---|
alert(prompt) | Button | Kullanıcının düzenleyicisinde, belirtilen iletiyi ve "Tamam" düğmesini içeren bir iletişim kutusu açar. |
alert(prompt, buttons) | Button | Kullanıcının düzenleyicisinde, belirtilen iletiyi ve düğme kümesini içeren bir iletişim kutusu açar. |
alert(title, prompt, buttons) | Button | Kullanıcının düzenleyicisinde başlığı, iletiyi ve düğme kümesini içeren bir iletişim kutusu açar. |
createAddonMenu() | Menu | Düzenleyicinin Uzantılar menüsüne alt menü eklemek için kullanılabilecek bir oluşturucu oluşturur. |
createMenu(caption) | Menu | Düzenleyicinin kullanıcı arayüzüne menü eklemek için kullanılabilecek bir oluşturucu oluşturur. |
prompt(prompt) | PromptResponse | Kullanıcının düzenleyicisinde, belirtilen mesajı ve "Tamam" düğmesini içeren bir giriş iletişim kutusu açar. |
prompt(prompt, buttons) | PromptResponse | Kullanıcının düzenleyicisinde, belirtilen ileti ve düğme grubunu içeren bir giriş iletişim kutusu açar. |
prompt(title, prompt, buttons) | PromptResponse | Kullanı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) | void | Kullanıcının düzenleyicisinde, özel istemci tarafı içeriği bulunan kalıcı bir iletişim kutusu açar. |
showModelessDialog(userInterface, title) | void | Kullanıcının düzenleyicisinde, özel istemci tarafı içeriği olan modsuz bir iletişim kutusu açar. |
showSidebar(userInterface) | void | Kullanı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
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ü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
Ad | Tür | Açıklama |
---|---|---|
prompt | String | İletişim kutusunda gösterilecek mesaj. |
buttons | ButtonSet | Düğ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
Ad | Tür | Açıklama |
---|---|---|
title | String | İletişim kutusunun üzerinde görüntülenecek başlık. |
prompt | String | İletişim kutusunda gösterilecek mesaj. |
buttons | ButtonSet | Düğ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
Ad | Tür | Açıklama |
---|---|---|
caption | String | Ü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
Ad | Tür | Açıklama |
---|---|---|
prompt | String | İ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
Ad | Tür | Açıklama |
---|---|---|
prompt | String | İletişim kutusunda gösterilecek mesaj. |
buttons | ButtonSet | Düğ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
Ad | Tür | Açıklama |
---|---|---|
title | String | İletişim kutusunun üzerinde görüntülenecek başlık. |
prompt | String | İletişim kutusunda gösterilecek mesaj. |
buttons | ButtonSet | Düğ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
Ad | Tür | Açıklama |
---|---|---|
userInterface | Object | Görüntülenecek arayüzü temsil eden HtmlOutput . |
title | String | İ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
Ad | Tür | Açıklama |
---|---|---|
userInterface | Object | Görüntülenecek arayüzü temsil eden HtmlOutput . |
title | String | İ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
Ad | Tür | Açıklama |
---|---|---|
userInterface | Object | Gö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