في الوقت الحاضر، تطرح الحلول السحابية تطبيقات سطح المكتب المخصصة للأعمال المكتبية. وتُقدِّم Google أحد أكبر المجموعات المكتبية وتتضمن المستندات وجداول البيانات والعروض التقديمية، أي معظم ما يحتاجه المكتب العادي.
في هذه المقالة، أريد أن ألقي نظرة عن كثب على تطبيق جداول بيانات Google Spreadsheets وأعرض لك كيفية جعله أكثر ذكاءً باستخدام البرنامج النصي لتطبيقات Google
تخيل أن وظيفتك تتعلق بالإشراف على عمل شخص آخر، وهو ما يؤدي عادةً إلى كتابة بعض التقارير. أنت تريد أن تبقي الأمور موحدة وعامة، لذلك قمت بإنشاء جدول بيانات يحتوي على قائمة بالأشياء التي تحتاج إلى التحكم فيها وبعض الخلايا للتعليق. دعنا نفترض أنك مسؤول عن جودة المنتج. ثم قد يبدو جدول البيانات الخاص بك على هذا النحو:
في المثال أعلاه، يمكنك أن ترى عدة أمور:
اسم الميزة ("نموذج تسجيل دخول المستخدم") والرقم (على سبيل المثال من نظام تخطيط موارد المؤسسات),
قائمة بالجوانب التي يجب عليك التحقق منها وإبداء الملاحظات بشأنها (عمود "المنطقة"),
بعض الحقول الفارغة لاستنتاجاتك (عمود "التعليق").
سميت هذه الورقة "مولد التقارير"، لأنني سأوضح لك كيف يمكن أن تتطور هذه الوثيقة لتصبح أداة مفيدة حقًا، مما يسمح لك بتقييم جودة نتائج عمل شخص ما.
إذا كنت ترغب في تحديد بعض النتائج، فربما يكون الخيار الأفضل هو استخدام مقياس، على سبيل المثال من 1 إلى 10 نقاط، أو شيء من هذا القبيل.
دعنا ننشئ ورقة جديدة في نفس المستند، ونسميها "تكوين" ونعرّفها على أنها محمية (أو على الأقل نلحق رمز قفل المفاتيح باسمها). هذه الورقة مخصصة فقط لحفظ بعض الخيارات المحددة مسبقًا، مثل الخيارات أدناه:
الآن يمكنك وضع هذه القيم في بعض القوائم المنسدلة في مولد التقرير باستخدام ورقة التحقق من صحة البيانات الميزة. هنا يمكنك العثور على بعض الإرشادات حول كيفية تحقيق ذلك:
بعد القيام بذلك، يمكنك تحويل التقييمات بسهولة إلى قيم رقمية باستخدام إذا الصيغة. سيظل جدول بياناتك مناسبًا للبشر وستظل استنتاجاتك قابلة للقياس والمقارنة في نفس الوقت.
هذه الوثيقة أنيقة، ومع ذلك، تخيل ما يحدث عندما يكون نطاق التدقيق ينمو ولديك مئات الأشياء للتحقق منها. يمكنك حفظ قالب نموذج فارغ ونسخه في كل مرة تحتاج فيها إلى إنشاء تقرير جديد، ولكن التبديل بين قوائم المستندات وجدول البيانات أمر مزعج للغاية. هذه هي النقطة التي تبدأ عندها بالتفكير في بعض الأتمتة.
إنه الوقت المثالي لبدء مغامرتك مع برنامج Google Apps Script!
قبل أن نبدأ الترميز، دعنا نعد بعض الأزرار للإجراءات المجمعة. وفقًا للمثال أعلاه:
وضع علامة "مثالي" على جميع العناصر
وضع علامة "يلزم إجراء تحسينات"
وضع علامة "غير مقبول" على كل شيء
إعادة تعيين الكل (تعيين القيمة إلى سلسلة فارغة).
أيضًا، سنحتاج إلى إجراء إضافي واحد لحفظ ملف جديد عند الانتهاء من التدقيق.
أولاً، دعونا نوسِّع نطاق مولد التقرير مع المنطقة الوظيفية التي تحتوي على أزرار.
ثم، باستخدام إدراج -> الرسمدعنا نضيف الأزرار، واحدًا تلو الآخر.
يجب أن يبدو نموذج المستند بهذا الشكل:
نحن مستعدون لإضافة بعض المنطق إلى واجهة المستخدم الجميلة هذه! من السهل جدًا البدء - اختر فقط أدوات -> محرر البرامج النصية في القائمة العلوية وسينتقل المتصفح إلى بطاقة جديدة.
واجهة المحرر بديهية للغاية. إذا كنت معتادًا على أي الكود المحرر، يجب عليك بسهولة إعادة تسمية ملفك أو إنشاء ملف جديد (ملف -> جديد -> ملف نص برمجي).
البرنامج النصي لتطبيقات جوجل ليس أكثر من ابن عم JavaScript، إذا جاز القول. إذا كنت تعرف JS، فيمكنك تحقيق كفاءة GS أيضًا!
الخطوة الأولى هي جمع كل المراجع التي قد تكون مطلوبة في مكان واحد وإعطائها بعض الأسماء ذات المعنى. نبدأ بالمتغيرات العامة عن طريق إزالة المتغيرات الافتراضية وظيفتي التصريح وكتابة شيء أكثر فائدة في الرمز.gs الملف.
متغير جدول البيانات = SpreadsheetApp.getActiveSpreadsheet()
// مراجع الأوراق
متغير تقرير = spreadsheet.getSheets()[0]
متغير التكوين = spreadsheet.getSheets()[1]
الرمز أعلاه واضح تمامًا، ولكن لتوضيح الأمر تمامًا:
getSheets التي تم استدعاؤها على جدول البيانات يُرجع المثيل مصفوفة الأوراق من جدول البيانات هذا؛ في مثالنا، يُرجع [مولد التقرير الورقة, التكوين ورقة] مصفوفة.
يمكننا الآن المضي قدمًا والحصول على بعض البيانات المفيدة من جدول البيانات.
// منطقة قابلة للتحرير (الخلايا ذات القوائم المنسدلة)
فار القوائم المنسدلة = report.getRange('C4:C13')
// خلية ذات عنوان فرعي (اسم الميزة)
var featureName = report.getRange('B2').getValue()
// خيارات من ورقة "التكوين
// لاحظ أنه بإمكانك تمرير خلية واحدة إلى طريقة getRange()
// وتغيير الخيارات لا يؤثر على وظيفة البرنامج النصي الخاص بك
متغير القيم = {
غير مقبول: config.getRange('A2').getValue(),
تحسينات_مطلوبة: config.getRange('A3').getValue(),
مثالي: config.getRange('A4').getValue(),
فارغ: ''
};
الشيء الوحيد المتبقي لترميزه هو تعريف الدوال التي نريد تعيينها إلى أزرارنا.
// وظائف الأزرار
دالة allPerfect() {
القوائم المنسدلة.setValue(values.perfect)
}
وظيفة allNeedImprovements() { {
القوائم المنسدلة.setValue(values.improvements.neproveed)
}
دالة allUnacceptable() { {
القوائم المنسدلة.setValue(values.unacceptable)
}
دالة مسح() { {
القوائم المنسدلة.setValue(values.empty)
}
دالة نسخ() { {
var copy = spreadsheet.copy(featureName + ' - تقرير')
// الآن قمنا بنسخ ورقتين بنفس القيم
// لكن مع تغيير الأسماء (مع لاحقة "نسخة"),
// في هذه الحالة، علينا أن نعطيهما الاسمين الأصليين
// إعادة تسمية ورقة التقرير
Copy.getSheets()[0].setName(report.getName())
// إعادة تسمية ورقة التكوين
انسخ.getSheets()[1].setName(config.getName())
}
إن نسخ() تلقائيًا جدول بيانات جديد باسم (في مثالنا) "نموذج تسجيل دخول المستخدم - تقرير"بجوار الحالي مباشرةً.
قم بتعيين طرقنا إلى الأزرار التي تم إنشاؤها من قبل. اختر تعيين نص برمجي بعد النقر بالزر الأيمن على الزر...
... واكتب اسم الطريقة، هنا هو الكل مثالي
لا تحتاج إلى إغلاق المولد الخاص بك. استخدم إجراءاتك المجمعة لإعداد النموذج لتقرير جديد، وقم بتغيير اسم الميزة ثم احفظ نسخة أخرى!
إمكانيات البرنامج النصي لتطبيقات جوجل واسعة جدًا لدرجة أن مناقشتها جميعًا ستستغرق سلسلة كاملة من المقالات. إذا كنت مهتمًا بتحسين عملك المكتبي، فلا تتردد في الاطلاع على المستندات الرسمية واجعل ملاءاتك أكثر ذكاءً!
هناك بعض الحيل المفيدة حقاً، مثل هذه من xfanatical.com حول تصدير جدول بيانات جوجل إلى ملف PDF.
المثال الموضح في هذه المقالة هو هنا. أتمنى أن تنال إعجابك. استمتع بوقتك!