Class Ui

Ui

מופע של סביבת ממשק המשתמש של אפליקציית Google שמאפשרת לסקריפט להוסיף תכונות כגון תפריטים, תיבות דו-שיח וסרגלי צד. סקריפט יכול לקיים אינטראקציה רק עם ממשק המשתמש עבור את המופע הנוכחי של עורך פתוח, ורק אם הסקריפט מקושר לקונטיינר לעורך.

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

מאפיינים

נכססוגתיאור
ButtonButtonenum שמייצג לחצני תיבת דו-שיח מותאמים לשוק המקומי שנקבע מראש, שהוחזרו על ידי התראה או PromptResponse.getSelectedButton() כדי לציין על איזה לחצן בתיבת הדו-שיח המשתמש לחץ.
ButtonSetButtonSetenum שמייצג קבוצות שנקבעו מראש ותורגמו לשוק המקומי של לחצנים בתיבת דו-שיח אחת או יותר נוסף להתראה או להנחיה.

שיטות

שיטהסוג הערך המוחזרתיאור קצר
alert(prompt)Buttonתיפתח תיבת דו-שיח בעורך של המשתמש עם ההודעה הנתונה והלחצן 'אישור' לחצן.
alert(prompt, buttons)Buttonפתיחת תיבת דו-שיח בעורך המשתמש עם ההודעה הנתונה וקבוצת הלחצנים.
alert(title, prompt, buttons)Buttonפתיחת תיבת דו-שיח בעורך המשתמש עם הכותרת, ההודעה וקבוצת הלחצנים.
createAddonMenu()Menuיוצר כלי שמאפשר להוסיף תפריט משנה לתפריט התוספים של העורך.
createMenu(caption)Menuיוצר builder שיכול לשמש להוספת תפריט לממשק המשתמש של העורך.
prompt(prompt)PromptResponseפותח תיבת דו-שיח להזנת קלט בעורך של המשתמש עם ההודעה הנתונה והלחצן "אישור" לחצן.
prompt(prompt, buttons)PromptResponseפתיחת תיבת דו-שיח לקלט בעורך המשתמש עם ההודעה הנתונה וקבוצת הלחצנים.
prompt(title, prompt, buttons)PromptResponseפותח תיבת דו-שיח להזנת קלט בעורך של המשתמש עם הכותרת, ההודעה וההגדרה שצוינו הלחצנים.
showModalDialog(userInterface, title)voidפתיחת תיבת דו-שיח של חלון בכלי העריכה של המשתמש עם תוכן מותאם אישית בצד הלקוח.
showModelessDialog(userInterface, title)voidפתיחת תיבת דו-שיח ללא מצב בעורך של המשתמש עם תוכן מותאם אישית בצד הלקוח.
showSidebar(userInterface)voidפתיחת סרגל צד בעורך של המשתמש עם תוכן מותאם אישית בצד הלקוח.

מסמכי תיעוד מפורטים

alert(prompt)

תיפתח תיבת דו-שיח בעורך של המשתמש עם ההודעה הנתונה והלחצן 'אישור' לחצן. השיטה הזו משעה את הסקריפט בצד השרת כשתיבת הדו-שיח פתוחה. הסקריפט ימשיך לאחר שהמשתמש סוגר את תיבת הדו-שיח, אבל Jdbc חיבורים ו-LockService מנעולים להמשיך לפעול לאורך כל ההשעיה. מידע נוסף זמין במדריך בנושא תיבות דו-שיח וסרגלי צד.

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

פרמטרים

שםסוגתיאור
promptStringההודעה שתוצג בתיבת הדו-שיח.

חזרה

Button – הלחצן שהמשתמש לחץ עליו.


alert(prompt, buttons)

פתיחת תיבת דו-שיח בעורך המשתמש עם ההודעה הנתונה וקבוצת הלחצנים. השיטה הזו משעה את הסקריפט בצד השרת כשתיבת הדו-שיח פתוחה. הסקריפט ימשיך לאחר שהמשתמש סוגר את תיבת הדו-שיח, אבל Jdbc חיבורים ו-LockService מנעולים להמשיך לפעול לאורך כל ההשעיה. מידע נוסף זמין במדריך בנושא תיבות דו-שיח וסרגלי צד.

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

פרמטרים

שםסוגתיאור
promptStringההודעה שתוצג בתיבת הדו-שיח.
buttonsButtonSetהלחצן מוגדר להצגה בתיבת הדו-שיח.

חזרה

Button – הלחצן שהמשתמש לחץ עליו.


alert(title, prompt, buttons)

פתיחת תיבת דו-שיח בעורך המשתמש עם הכותרת, ההודעה וקבוצת הלחצנים. הזה השיטה משעה את הסקריפט בצד השרת כשתיבת הדו-שיח פתוחה. הסקריפט ימשיך לאחר המשתמש סוגר את תיבת הדו-שיח, אבל Jdbc חיבורים ו-LockService מנעולים להמשיך לפעול לאורך כל ההשעיה. מידע נוסף זמין במדריך בנושא תיבות דו-שיח וסרגלי צד.

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

פרמטרים

שםסוגתיאור
titleStringהכותרת שתוצג מעל תיבת הדו-שיח.
promptStringההודעה שתוצג בתיבת הדו-שיח.
buttonsButtonSetהלחצן מוגדר להצגה בתיבת הדו-שיח.

חזרה

Button – הלחצן שהמשתמש לחץ עליו.


createAddonMenu()

יוצר כלי שמאפשר להוסיף תפריט משנה לתפריט התוספים של העורך. התפריט לא מתעדכן בפועל עד שמתבצעת קריאה של Menu.addToUi(). אם הסקריפט פועל בתור תוסף, השם של תפריט המשנה תואם לשם התוסף בחנות האינטרנט. אם הסקריפט מקושר ישירות למסמך, השם של תפריט המשנה תואם לשם הסקריפט. מידע נוסף זמין במדריך לתפריטים.

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

חזרה

Menu – הכלי החדש ליצירת תפריטים.


createMenu(caption)

יוצר builder שיכול לשמש להוספת תפריט לממשק המשתמש של העורך. התפריט לא קשור יתווספו בפועל עד שנקראים Menu.addToUi(). מידע נוסף זמין במדריך לתפריטים. התווית של התפריט ברמה העליונה צריכה להיות באותיות רישיות בכותרת (כל המילים הראשיות באותיות רישיות), למרות שהתווית של תפריט משנה צריכה להופיע רישיות במשפט (רק המילה הראשונה באותיות רישיות). אם הסקריפט מתפרסם כתוסף, המערכת מתעלמת מהפרמטר caption נוסף כתפריט משנה של תפריט התוספים, בדומה ל-createAddonMenu().

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

פרמטרים

שםסוגתיאור
captionStringהתווית של התפריט, שבה כל המילים הראשיות באותיות רישיות עבור התפריט ברמה העליונה, או רק את המילה הראשונה באותיות רישיות בתפריט משנה.

חזרה

Menu – הכלי החדש ליצירת תפריטים.


prompt(prompt)

פותח תיבת דו-שיח להזנת קלט בעורך של המשתמש עם ההודעה הנתונה והלחצן "אישור" לחצן. הזה השיטה משעה את הסקריפט בצד השרת כשתיבת הדו-שיח פתוחה. הסקריפט ימשיך לאחר המשתמש סוגר את תיבת הדו-שיח, אבל Jdbc ו-LockService מנעולים לא להמשיך לפעול לאורך כל ההשעיה. מידע נוסף זמין במדריך בנושא תיבות דו-שיח וסרגלי צד.

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

פרמטרים

שםסוגתיאור
promptStringההודעה שתוצג בתיבת הדו-שיח.

חזרה

PromptResponse – ייצוג של תגובת המשתמש.


prompt(prompt, buttons)

פתיחת תיבת דו-שיח לקלט בעורך המשתמש עם ההודעה הנתונה וקבוצת הלחצנים. הזה השיטה משעה את הסקריפט בצד השרת כשתיבת הדו-שיח פתוחה. הסקריפט ימשיך לאחר המשתמש סוגר את תיבת הדו-שיח, אבל Jdbc ו-LockService מנעולים לא להמשיך לפעול לאורך כל ההשעיה. מידע נוסף זמין במדריך בנושא תיבות דו-שיח וסרגלי צד.

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

פרמטרים

שםסוגתיאור
promptStringההודעה שתוצג בתיבת הדו-שיח.
buttonsButtonSetהלחצן מוגדר להצגה בתיבת הדו-שיח.

חזרה

PromptResponse – ייצוג של תגובת המשתמש.


prompt(title, prompt, buttons)

פותח תיבת דו-שיח להזנת קלט בעורך של המשתמש עם הכותרת, ההודעה וההגדרה שצוינו הלחצנים. השיטה הזו משעה את הסקריפט בצד השרת כשתיבת הדו-שיח פתוחה. התסריט מתחדשת אחרי שהמשתמש סוגר את תיבת הדו-שיח, אבל חיבורים של Jdbc ונעילה של LockService לא נשמרים לאורך על השעיה. לקבלת מידע נוסף, אפשר לעיין במדריך תיבות דו-שיח וסרגלי צד.

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

פרמטרים

שםסוגתיאור
titleStringהכותרת שתוצג מעל תיבת הדו-שיח.
promptStringההודעה שתוצג בתיבת הדו-שיח.
buttonsButtonSetהלחצן מוגדר להצגה בתיבת הדו-שיח.

חזרה

PromptResponse – ייצוג של תגובת המשתמש.


showModalDialog(userInterface, title)

פתיחת תיבת דו-שיח של חלון בכלי העריכה של המשתמש עם תוכן מותאם אישית בצד הלקוח. השיטה הזאת לא תשעה את הסקריפט בצד השרת בזמן שתיבת הדו-שיח פתוחה. כדי לתקשר עם סקריפט בצד השרת, הרכיב בצד הלקוח חייב לבצע קריאות חוזרות אסינכרוניות באמצעות API של google.script עבור HtmlService. כדי לסגור את תיבת הדו-שיח באופן פרוגרמטי, קוראים ל- google.script.host.close() בצד הלקוח של HtmlService באינטרנט אפליקציה. למידע נוסף, עיין במדריך לתיבות דו-שיח סרגלי הצד.

תיבות דו-שיח מודאליות מונעות מהמשתמש לבצע אינטראקציה עם כל דבר שאינו תיבת הדו-שיח. על ידי ניגודיות, תיבות דו-שיח ללא מצב וסרגלי צד מאפשרים למשתמש ליצור אינטראקציה עם כלי העריכה. כמעט בכל המקרים, עדיף להשתמש בתיבת דו-שיח מודאלית או בסרגל צד מאשר בתיבת דו-שיח ללא מצב.

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

פרמטרים

שםסוגתיאור
userInterfaceObjectHtmlOutput שמייצגים את הממשק להצגה.
titleStringכותרת של תיבת הדו-שיח; מבטל כל כותרת שהוגדרה על ידי הפעלה של setTitle() במכשיר את האובייקט userInterface.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

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

showModelessDialog(userInterface, title)

פתיחת תיבת דו-שיח ללא מצב בעורך של המשתמש עם תוכן מותאם אישית בצד הלקוח. השיטה הזו לא משעה את הסקריפט בצד השרת כשתיבת הדו-שיח פתוחה. כדי לתקשר עם את הסקריפט בצד השרת, הרכיב בצד הלקוח חייב לבצע קריאות חוזרות (callback) אסינכרוניות באמצעות API של google.script בשביל HtmlService. כדי לסגור את תיבת הדו-שיח באופן פרוגרמטי, קוראים ל- google.script.host.close() בצד הלקוח של HtmlService באינטרנט אפליקציה. למידע נוסף, עיין במדריך לתיבות דו-שיח סרגלי צד.

תיבות דו-שיח ללא מצב מאפשרות למשתמש ליצור אינטראקציה עם העורך מאחורי תיבת הדו-שיח. לעומת זאת, בתיבות דו-שיח שמוצגות לא. כמעט בכל המקרים, תיבת דו-שיח או סרגל צד הם אפשרויות טובות יותר מאשר תיבת דו-שיח ללא מצב.

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

פרמטרים

שםסוגתיאור
userInterfaceObjectHtmlOutput שמייצגים את הממשק להצגה.
titleStringכותרת של תיבת הדו-שיח; מבטל כל כותרת שהוגדרה על ידי הפעלה של setTitle() במכשיר את האובייקט userInterface.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

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

showSidebar(userInterface)

פתיחת סרגל צד בעורך של המשתמש עם תוכן מותאם אישית בצד הלקוח. השיטה הזאת לא תשעה את הסקריפט בצד השרת כאשר סרגל הצד פתוח. כדי לתקשר עם סקריפט בצד השרת, הרכיב בצד הלקוח חייב לבצע קריאות חוזרות אסינכרוניות באמצעות API של google.script עבור HtmlService. כדי לסגור את סרגל הצד באופן פרוגרמטי, קוראים ל- google.script.host.close() בצד הלקוח של HtmlService באינטרנט אפליקציה. למידע נוסף, עיין במדריך לתיבות דו-שיח סרגלי צד.

סרגל הצד מוצג בצד שמאל של העורך עבור משתמשים שבסביבות שלהם נעשה שימוש בשפה משמאל לימין ובצד שמאל של העורך עבור שפות הנכתבות מימין לשמאל. הכול סרגלי הצד שמוצגים על ידי סקריפטים הם ברוחב של 300 פיקסלים.

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

פרמטרים

שםסוגתיאור
userInterfaceObjectHtmlOutput שמייצגים את הממשק להצגה.

אישור

סקריפטים שמשתמשים בשיטה הזו מחייבים הרשאה עם אחד או יותר מהיקפי ההרשאות הבאים:

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

שיטות שהוצאו משימוש