5.5الأتمتة: ماكرو VBA
الأساسي في 30 ثانية
- Project قابل للأتمتة بـVBA (Visual Basic for Applications)، لغة الماكرو نفسها في Excel وWord: مهارة قابلة لإعادة الاستخدام.
- مسجل الماكرو هو نقطة الدخول دون شيفرة: يلتقط سلسلة إجراءات (تنسيق، فلتر، طريقة عرض) ويعيد تشغيلها متى شئت.
- محرر VBA (Alt+F11) يتيح بعدها قراءة الشيفرة وكتابتها وتعديلها للتعامل مع نموذج الكائنات: معالجات جماعية وتقارير مفصلة.
حالة مصغّرة متسلسلة — مريم تؤتمت تنسيقاتها المتكررة
مريم، مديرة مشاريع في شركة هندسة وبناء (BTP) بالجزائر العاصمة، تطبّق على كل ورش جديد التحضير نفسه: تنسيق قياسي، فلتر بحسب المرحلة، وطريقة عرض مخصصة للجنة. تستهلك هذه السلسلة من الإجراءات وقتها وتنساها أحيانًا. تفعّل علامة تبويب المطور، ثم تسجل ماكرو: تنفذ الإجراءات مرة، فيلتقط Project الشيفرة. تعيد تشغيل الماكرو على ورش آخر وتقيس المكسب. وبدافع الفضول، تفتح محرر VBA (Alt+F11) لتقرأ الشيفرة، وتعدل معاملًا، ثم تربط الماكرو بزر. إنها لا تبرمج برنامجًا: بل تؤتمت حركة متكررة، دون أن تكون مطورة.
حالة مستقلة لهذا القسم: تعود في الدرس والمخطط والسكريبت وتحدي 48 ساعة في القسم 5.5.
1. مسجل الماكرو
للمهام المتكررة، Project قابل للأتمتة عبر VBA (Visual Basic for Applications)، لغة الماكرو نفسها في Excel وWord. نقطة الدخول دون شيفرة: مسجل الماكرو، الذي يلتقط سلسلة إجراءات (تنسيق، فلتر، طريقة عرض) ويعيد تشغيلها متى شئت. تحصل مريم بذلك على شيفرة يمكنها بعدها قراءتها وتعديلها: إنها أبسط وسيلة للأتمتة دون أن تكون مطورة.
2. تحرير VBA
بالذهاب أبعد، نكتب أو نحرر ماكرو في محرر VBA (Alt+F11) للتعامل مع نموذج الكائنات في Project: اجتياز المهام، تعديل الحقول جماعيًا، إنتاج تقرير مفصل. أتمتة مهامك المتكررة هي الدرجة الأخيرة في المسار: كسب الوقت في الأداة للتركيز على القيادة. وتعدل مريم مثلًا معاملًا في الشيفرة المولدة، ثم تربط الماكرو بزر.
3. أتمتة ما يتكرر
القاعدة الذهبية: أتمت ما هو متكرر ومربح بالتكرار. ماكرو لإجراء يُنفَّذ مرة واحدة لا فائدة منه؛ أما لحركة أسبوعية (تنسيق قياسي، تصدير تقرير، إعادة ترقيم جماعي)، فيكسب وقتًا ثمينًا ويجنّب الأخطاء. تبدأ مريم دائمًا بالمسجل، وتراقب الشيفرة المولدة لتتعلم، ثم تؤتمت تدريجيًا ما يتكرر كثيرًا.
🔎 مثال ملموس — 🔎 مثال ملموس — من اللاشيفرة إلى الشيفرة
تؤتمت مريم تحضيرًا متكررًا، أولًا دون برمجة:
سجّل: فلتر + تنسيق، مرة واحدة → شيفرة مولدة.
أعد التشغيل على مشروع آخر، ثم Alt+F11 لقراءة الشيفرة.
← عدّل معاملًا، اربط الماكرو بزر.
النتيجة: مكسب وقت دائم في خدمة القيادة.
المنعكس: VBA = اللغة نفسها في Excel/Word (مهارة قابلة لإعادة الاستخدام).
مفردات القسم
- VBA
- Visual Basic for Applications: لغة ماكرو مشتركة لتطبيقات Office، تتيح أتمتة Project.
مثال بسيط: تؤتمت مريم تنسيقها المتكرر بـVBA.
ما ليس كذلك: الظن بأن Project غير قابل للأتمتة.
رد فعل: VBA = مهارة قابلة لإعادة الاستخدام (Excel/Word).
- مسجل الماكرو
- أداة تلتقط سلسلة إجراءات لإعادة تشغيلها؛ وتنتج شيفرة VBA دون كتابتها.
مثال بسيط: تسجل مريم فلتر + تنسيق في مرة واحدة.
ما ليس كذلك: الرغبة في البرمجة قبل تجربة المسجل.
رد فعل: التسجيل = أتمتة دون برمجة.
- ماكرو
- برنامج يؤتمت مهمة متكررة (تنسيق، فلتر، تصدير، معالجة جماعية).
مثال بسيط: تعيد مريم تشغيل ماكروها على ورش آخر.
ما ليس كذلك: تشغيل ماكرو من مصدر مجهول دون حذر.
رد فعل: أتمت ما يتكرر.
- محرر VBA
- بيئة (Alt+F11) تُقرأ فيها شيفرة الماكرو وتُكتب وتُنفَّذ.
مثال بسيط: تفتح مريم Alt+F11 لتعديل معامل.
ما ليس كذلك: عدم النظر إلى الشيفرة المولدة أبدًا.
رد فعل: اقرأ الشيفرة لتتعلم.
- نموذج الكائنات
- بنية Project القابلة للبرمجة (المشاريع، المهام، الموارد، الإسنادات…) ويمكن التعامل معها في VBA.
مثال بسيط: تجتاز مريم المهام لمعالجة جماعية.
ما ليس كذلك: تعديل كل مهمة يدويًا.
رد فعل: نموذج الكائنات يتيح المعالجات الجماعية.
في التطبيق — تطبيق عملي — الأتمتة بماكرو VBA
- فعّل علامة تبويب المطور (ملف > خيارات > تخصيص الشريط) للوصول إلى أدوات الماكرو.
- سجّل ماكرو: أطلق المسجل، ونفّذ مهمة متكررة (فلتر + تنسيق)، ثم أوقف.
- أعد تشغيل الماكرو على مشروع آخر ولاحظ المكسب الزمني؛ وافتح محرر VBA (Alt+F11) لقراءة الشيفرة.
- عدّل الشيفرة قليلًا (مثلًا تغيير معامل) لتكييفها، واربط الماكرو بزر لإعادة استخدامه.
سكريبت خطوة بخطوة — أتمت مثل مريم (10 دقائق)
1) فعّل علامة تبويب المطور. 2) أطلق مسجل الماكرو وأعطه اسمًا. 3) نفّذ المهمة المتكررة (مثلًا فلتر + تنسيق لدى مريم). 4) أوقف التسجيل. 5) أعد تشغيل الماكرو على مشروع آخر؛ وقس المكسب. 6) افتح محرر VBA (Alt+F11)، اقرأ الشيفرة، عدّل معاملًا واربط الماكرو بزر. حذر: اختبر على نسخة من الملف.
ابدأ بالتسجيل، راقب الشيفرة، ثم عدّلها شيئًا فشيئًا: لا حاجة لأن تكون مطورًا للبدء.
نموذج للنسخ واللصق — ماكروي خطوة بخطوة
علامة تبويب المطور: مفعلة (ملف > خيارات > تخصيص الشريط)
الإجراءات المسجلة: ___ (مثلًا فلتر بحسب المرحلة + تنسيق)
اسم الماكرو: ___
أعيد تشغيله على: ___ (مشروع آخر) → المكسب: ___
محرر VBA (Alt+F11): المعامل المعدل ___ · الزر المرتبط ___
القاعدة: سجّل أولًا · حرّر بعدها · أتمت ما يتكرر · اختبر على نسخة.
تنسيق قياسي
تسجل مريم ماكرو يطبق التنسيق نفسه على كل ورش.
فلتر متكرر
تؤتمت مريم فلترًا بحسب المرحلة تعيده في كل نقطة تقدم.
تقارير مفصلة
تحرر مريم VBA لتوليد جدول ملخص مخصص.
معالجة جماعية
تعدل مريم حقلًا على مئات المهام دفعة واحدة عبر ماكرو.
✓ ممارسات جيدة
- ابدأ بـالمسجل (دون برمجة)، ثم حرّر VBA.
- راقب الشيفرة المولدة لتتعلم تدريجيًا.
- أتمت ما هو متكرر ومربح بالتكرار.
✗ أخطاء شائعة
- الرغبة في برمجة VBA قبل تجربة المسجل.
- أتمتة إجراء يُنفَّذ مرة واحدة (غير مربح).
- نسيان أن VBA يعيد استخدام مهارات Excel/Word.
النقاط الأساسية
- يُؤتمت Project بـVBA (لغة الماكرو نفسها في Excel/Word).
- يلتقط مسجل الماكرو الإجراءات ويعيد تشغيلها: أتمتة دون برمجة.
- يتيح محرر VBA كتابة/تعديل ماكرو يتعامل مع نموذج الكائنات.
- مثالي للمعالجات الجماعية والتقارير المفصلة المتكررة.
تحدي 48 ساعة — طبّقه غدًا
مثل مريم، سجّل ماكرو واحدًا لمهمة تكررها (تنسيق، فلتر، طريقة عرض)، وأعد تشغيله على مشروع آخر، ثم افتح محرر VBA (Alt+F11) لقراءة الشيفرة وتعديل معامل. اربط الماكرو بزر. اختبر على نسخة من الملف.
- أستطيع شرح ما هو VBA في Project.
- أعرف كيف أسجل ماكرو دون كتابة شيفرة.
- أعرف كيف أقرأ شيفرة في محرر VBA وأعدلها للذهاب أبعد.
أسئلة شائعة
هل يجب معرفة البرمجة لاستخدام ماكرو VBA؟
لا للبدء. يتيح مسجل الماكرو الأتمتة دون كتابة سطر: تنفذ الإجراءات مرة، ويسجلها Project شيفرة، وتعيد تشغيلها. ويكفي ذلك لكثير من المهام المتكررة. وللذهاب أبعد (معالجة المهام جماعيًا، منطق شرطي)، يجب قراءة شيفرة VBA وتعديلها، وهو ما يتطلب تعلمًا تدريجيًا. وVBA هي اللغة نفسها في Excel وWord.
ما حالات الاستخدام النمطية لماكرو في Project؟
كل ما هو متكرر: تطبيق تنسيق قياسي على كل مشروع جديد؛ إعادة ترقيم المهام أو إعادة تصنيفها جماعيًا؛ توليد جدول ملخص أو تصدير مخصص عند كل نقطة تقدم؛ تعديل حقل على مئات المهام دفعة واحدة. يدويًا، تستهلك هذه العمليات وقتًا وتعرّض للأخطاء؛ وينفذها ماكرو في ثوانٍ. ويُحكم على العائد بالتكرار.
كيف تُؤتمت مهمة متكررة في Project؟