القوائم المخصّصة في Google Workspace

يمكن أن توفّر النصوص البرمجية ميزات إضافية في منتجات Google معيّنة من خلال إضافة عناصر لواجهة المستخدم تنفِّذ دالة "برمجة التطبيقات" عند النقر عليها. وأكثر الأمثلة شيوعًا هو تشغيل نص برمجي من عنصر قائمة مخصّص في "مستندات Google" أو "جداول بيانات Google" أو "العروض التقديمية من Google" أو "نماذج Google"، ولكن يمكن أيضًا تنشيط وظائف النصوص البرمجية من خلال النقر على الصور والرسومات في "جداول بيانات Google".

قوائم مخصّصة في "مستندات Google" أو "جداول بيانات Google" أو "العروض التقديمية من Google" أو "نماذج Google"

يمكن أن تضيف Apps Script قوائم جديدة في "مستندات Google" أو "جداول بيانات Google" أو "العروض التقديمية من Google" أو "نماذج Google"، مع ربط كل عنصر قائمة بوظيفة في نص برمجي. (في "نماذج Google"، لا تظهر القوائم المخصّصة سوى للمحرِّر الذي يفتح النموذج لتعديله، وليس للمستخدم الذي يفتح النموذج للردّ).

لا يمكن للنص البرمجي إنشاء قائمة إلا إذا كان مرتبطًا بالمستند أو جدول البيانات أو النموذج. لعرض القائمة عندما يفتح المستخدم ملفًا، اكتب رمز القائمة داخل دالة onOpen().

يوضّح المثال أدناه كيفية إضافة قائمة تتضمّن عنصرًا واحدًا، متبوعًا بأحد الفواصل المرئية، ثم قائمة فرعية تحتوي على عنصر آخر. (ملاحظة: في "جداول بيانات Google"، ما لم تكن تستخدم الإصدار الجديد، يجب استخدام بنية addMenu() بدلاً من ذلك، ولن تكون القوائم الفرعية متاحة). عندما يختار المستخدم أيًا من عناصر القائمة، تفتح الدالة المقابلة مربع حوار تنبيه. لمزيد من المعلومات عن أنواع مربّعات الحوار التي يمكنك فتحها، اطّلِع على دليل مربّعات الحوار والأشرطة الجانبية.

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp, SlidesApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the second menu item!');
}

لا يمكن أن يحتوي المستند أو جدول البيانات أو العرض التقديمي أو النموذج إلا على قائمة واحدة تحمل اسمًا معيّنًا. إذا كان النص البرمجي نفسه أو نص برمجي آخر يضيف قائمة بالاسم نفسه، تحل القائمة الجديدة محل القائمة القديمة. لا يمكن إزالة القوائم عندما يكون الملف مفتوحًا، ولكن يمكنك كتابة دالة onOpen() لتخطّي القائمة في المستقبل إذا تم ضبط سمة معيّنة.

الصور والرسومات القابلة للنقر في "جداول بيانات Google"

يمكنك أيضًا تخصيص دالة Apps Script لصورة أو رسم في "جداول بيانات Google"، ما دام النص البرمجي مرتبطًا بجدول البيانات. يوضّح المثال أدناه كيفية إعداد ذلك.

  1. في "جداول بيانات Google"، اختَر عنصر القائمة الإضافات > برمجة التطبيقات لإنشاء نص برمجي مرتبط بجدول البيانات.
  2. احذف أي رمز في محرِّر النصوص البرمجية والصق الرمز أدناه.

      function showMessageBox() {
        Browser.msgBox('You clicked it!');
      }
    
  3. ارجع إلى "جداول بيانات Google" وأدرِج صورة أو رسمًا من خلال اختيار إدراج > صورة أو إدراج > رسم.

  4. بعد إدراج الصورة أو الرسم، انقر عليه. سيظهر في أعلى يسار الصفحة قائمة منسدلة صغيرة لاختيار العناصر. انقر عليه واختر تعيين النص البرمجي.

  5. في مربّع الحوار الذي يظهر، اكتب اسم دالة Apps Script التي تريد تنفيذها بدون أقواس، وفي هذه الحالة، showMessageBox. انقر على حسنًا.

  6. انقر على الصورة أو الرسم مرة أخرى. يتم تنفيذ الدالة الآن.