ابحث في المدونة

السبت، 5 مارس 2022

تعلم طريقة تقييد استقبال الردود تلقائيًا في Google Forms بعد عدد محدد من الاستجابات من خلال Google Apps Script

 

 

كثيرةٌ هي التطبيقات التي تُستخدم فيها خدمة google forms الخاصة بإنشاء الاستبيانات الالكترونية, سواءً ارتبط ذلك بالبحوث العلمية, الاختبارات الالكترونية, أو حتى لأغراض التسجيل في دورات تدريبية.

بجميع الأحوال, قد تحتاج إلى تحديد حد أقصى لعدد من يمكنه تعبئة الاستبيان الخاص بك ربما لأن دورتك التدريبية مقيدة بعدد محدود لا يمكن تجاوزه من المشاركين, أو ربما بحثك العلمي مرهون بعدد من العينات التي لا تريد جمع أكثر منها.

وسواءً كان الأمر هذا أو ذاك؛ سنتعلم اليوم الطريقة التي تستطيع من خلالها إغلاق النموذج بشكل تلقائي بمجرد وصول عدد الاستجابات للرقم الذي ستقوم أنت بتحديده وفقًا للاحتياج الذي تم على أساسه إنشاء الاستبيان.

 

المتطلبات الأساسية.

من أجل الاستمرار في هذا الشرح؛ ينبغي أن تكون قد أعددت الاستبيان الخاص بك بشكل مسبق من خلال الدخول إلى الصفحة الخاصة بإنشاء الاستبيانات.

سبق أن شرحت المبادئ الأساسية للتعامل مع google forms, يمكنكم الاطلاع على ذلك من هنا.

ستعتمد طريقتنا على ما يعرف بمشاريع google البرمجية التي تعتمد على كتابة تعليمات برمجية بلغة javascript. ولكن أنت لست في حاجة إلى أي معرفة برمجية سابقة بحكم أني سأكتب الكود وسأوضح ما ينبغي عليكم تغييره ليتوافق مع متطلبات كل استبيان.

 

إعداد جدول الاستجابات.

بعد أن تقوم بتجهيز الاستبيان الخاص بك؛ سيتوجب عليك تحديد الجدول الذي سيتم فيه تخزين الاستجابات, وذلك باتباع الآتي:

·       من محرر الاستبيان؛ ستتجه إلى منطقة التبويبات ثم تقوم باختيار تبويبة الردود.

·       بعد ذلك ستضغط على زر باسم ( إرسال النموذج إلى جدول بيانات جديد ) والذي بدوره سيقوم بإنشاء ورقة جديدة على خدمة google spreadsheets  لتخزين الاستجابات على شكل جدول منظم.

·       بعد الضغط على الزر المذكور أعلاه ستنبثق لديك نافذة بسيطة لتحديد اسم الجدول ومكان تخزينه, اضغط على إنشاء للمتابعة بالإعدادات الافتراضية.

 

 

إنشاء مشروع برمجي جديد.

أصبح لديك الآن جدولًا جديدًا من المفترض أن يحتضن جميع الردود الواصلة إلى الاستبيان الجديد.

بالوضع الحالي, لا يتسم هذا الجدول بأي نوع من الديناميكية للتفاعل مع الاستبيان, الأمر الذي من المفترض أن يقوم المشروع البرمجي بحله.

لإنشاء مشروع جديد؛ ستنتقل إلى قائمة الإضافات من شريط القوائم, منها ستضغط على برمجة التطبيقات للبدء بمشروع GAS جديد.

لمستخدمي قارئ الشاشة من المكفوفين, يمكنكم الضغط على alt + f للوصول إلى شريط القوائم, ثم التنقل بالسهم الأيمن للوصول إلى قائمة الإضافات, ومن ثم اختيار عنصر برمجة التطبيقات من خلال الوصول إليه أولًا بالسهم الأسفل ثم تفعيله بزر الإدخال.

 

كتابة الكود.

وصلنا الآن إلى المرحلة التي من المفترض أن نقوم فيها بكتابة التعليمات البرمجية المسؤولة عن قرائة عدد الاستجابات ومقارنتها مع الحد المسموح به ليتم في النهاية إغلاق الاستبيان في حال مساواة عدد الاستجابات مع الحد المسموح.

قم بحذف ما هو مكتوب في محرر الأكواد والصق الكود الآتي:

 

function limit_responses(e)

{

  let maximum = 10;

  let sheet = SpreadsheetApp.getActiveSheet();

  let form = FormApp.openByUrl(sheet.getFormUrl());

  let responses = form.getResponses();

  if (responses.length == maximum)

  {

    form.setAcceptingResponses(false);

 

  }

 

}

 

 

لا تقلق. قم بنسخ هذا الكود كما هو دون تغيير أي شيء سوى جزء بسيط من سطر واحد.

لو نظرنا إلى السطر الثالث من التعليمات البرمجية لوجدنا هذا الكود:

let maximum = 10;

 

ما ستفعله أنت هو تغيير الرقم المكتوب بعد علامة المساواة بدلًا من 10 إلى أي رقم تريده ليصبح هو الحد الأقصى للاستجابات المسموح بها.

فلو أردت تقييد الاستبيان ل100 استجابة فقط فسأحذف الرقم 10 واكتب بدله الرقم 100 ليصبح السطر هكذا:

let maximum = 100;

 

 

توثيق المشروع مع حسابك على google.

لتعلم عزيزي القارئ أنه باعتبار أن هذه المشاريع لها ارتباط مباشر بجميع خدمات google فإنه من الضروري إعارة مسألة الأمان جزءً من الاهتمام. والحقيقة فإن google تقوم بهذا الأمر عوضًا عنك؛ فلا يمكن لهذا المشروع أن يعمل دون أن يتم توثيقه أولًا مع حساب المنشئ على gmail>

لفعل ذلك؛ ستقوم أولًأ بحفظ الكود وذلك بالضغط على control + s ثم تنتقل بعدها إلى الزر المسمى بتشغيل الدالة المحددة وتضغط عليه هو الآخر, ثم تنتظر لبضع ثواني لتظهر لديك النافذة الخاصة بالتوثيق.

بعد ظهور الصفحة المشار إليها أعلاه؛ ستضغط على مراجعة الأذونات, ثم ستضغط على حسابك الذي قمت من خلاله بإنشاء الاستبيان.

في الصفحة التالية؛ ستخبرك google بأنه لم يتم التحقق من هوية هذا التطبيق, اضغط على الخيارات المتقدمة ليظهر لك رابطًا باسم الانتقال إلى مشروع بلا عنوان لتضغط عليه هو الآخر, ثم تضغط بعدها على سماح ليتم التفويض.

 

ربط الكود بالاستبيان.

كل شيء جاهز الآن, تبقى أن نقوم بربط الأكواد السابقة ليتم تنفيذها بمجرد أن يقوم أحد المستخدمين بإرسال استجابته لهذا الاستبيان, حيث سيتم مقارنة عدد الاستجابات عند آخر عملية إرسال بالحد الأقصى الذي تم تعيينه ليتم إغلاق الاستبيان لو تساوت القيمتين.

لتنفيذ عملية الربط سنتبع هذه الخطوات:

1. من محرر الكود؛ اضغط على العوامل المشغلة.

2. إضغط على إضافة مشغل جديد.

3. حدد على دالة limit_responses من قائمة اختيار الدالة المطلوب تشغيلها.

4. من قائمة اختيار نوع الحدث؛ حدد على الحدث المسمى ب(عند الإرسال).

5. اضغط على حفظ لإكمال عملية الربط.

 

 

الخاتمة وبعض الملاحظات.

بتطبيقك لجميع الخطوات السابقة؛ أصبح لديك استبيانًا ديناميكيًا متفاعلًا مع الاستجابات التي لديه عبر تعليمات برمجية دقيقة توفر للمالك قابلية لتخصيص أفضل لعملية جمع البيانات عبر Google Forms من خلال تقييد النموذج لعدد معين من الاستجابات.

من الملاحظات التي أود توضيحها هي أنه بوسعك استئناف عملية استقبال الردود وذلك بالعودة إلى تبويبة الردود من محرر الاستبيان وتشغيل خيار قبول الردود.

تستطيع أيضًا تخصيص العبارة التي من المفترض أن تظهر للمستخدم عندما يكون استقبال الردود مغلقًا وذلك من خلال تعطيل خيار قبول الردود بشكل يدوي ثم كتابة الرسالة المطلوبة في الخانة المخصصة لذلك ثم إعادة تشغيل خيار القبول من جديد.

بالغ شكري لحسن المتابعة والسلام خير ختام.

 

 

ليست هناك تعليقات:

إرسال تعليق

قل شيئًا