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

أماكن إقامة

الموقعالنوعالوصف
ButtonButtonتعداد يمثل أزرار مربع حوار مترجمة محددة مسبقًا يعرضها تنبيه أو PromptResponse.getSelectedButton() للإشارة إلى الزر الذي نقر عليه المستخدم في مربّع الحوار.
ButtonSetButtonSetتعداد يمثل مجموعات محددة مسبقًا ومترجمة لزر أو أكثر من أزرار مربع الحوار التي يمكن تمّت إضافتها إلى تنبيه أو طلب.

الطُرق

الطريقةنوع الإرجاعوصف قصير
alert(prompt)Buttonيفتح مربّع حوار في محرّر المستخدم يتضمّن الرسالة المحدّدة وكلمة "حسنًا" .
alert(prompt, buttons)Buttonيفتح مربّع حوار في محرّر المستخدم مع الرسالة المحدّدة ومجموعة الأزرار.
alert(title, prompt, buttons)Buttonلفتح مربع حوار في محرر المستخدم يحتوي على العنوان والرسالة ومجموعة الأزرار المحددة.
createAddonMenu()Menuتنشئ أداة إنشاء يمكن استخدامها لإدراج قائمة فرعية في قائمة الإضافات في المحرر.
createMenu(caption)Menuتنشئ أداة إنشاء يمكن استخدامها لإضافة قائمة إلى واجهة مستخدم المحرر.
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)

تنشئ أداة إنشاء يمكن استخدامها لإضافة قائمة إلى واجهة مستخدم المحرر. القائمة ليست مضافة بالفعل حتى يتم استدعاء الدالة 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)

يفتح مربّع حوار مشروط في محرِّر المستخدم يتضمن محتوًى مخصّصًا من جهة العميل. هذه الطريقة تفعل عدم تعليق النص البرمجي من جهة الخادم عندما يكون مربّع الحوار مفتوحًا. للتواصل مع نص برمجي من جهة الخادم، يجب أن يجري المكوِّن من جهة العميل عمليات استدعاء غير متزامنة باستخدام واجهة برمجة تطبيقات 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)

يفتح مربّع حوار بلا نمط في محرِّر المستخدم بمحتوى مخصّص من جهة العميل. هذه الطريقة لا تعلّق النص البرمجي من جهة الخادم عندما يكون مربّع الحوار مفتوحًا. للتواصل مع النص البرمجي من جهة الخادم، يجب أن يُجري المكوِّن من جهة العميل عمليات استدعاء غير متزامنة باستخدام google.script API for 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)

يتم فتح شريط جانبي في محرِّر المستخدم يتضمن محتوًى مخصّصًا من جهة العميل. هذه الطريقة تفعل عدم تعليق النص البرمجي من جهة الخادم عندما يكون الشريط الجانبي مفتوحًا. للتواصل مع نص برمجي من جهة الخادم، يجب أن يجري المكوِّن من جهة العميل عمليات استدعاء غير متزامنة باستخدام واجهة برمجة تطبيقات 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

طرق متوقّفة نهائيًا