
لعقود من الزمن، عندما كان مستخدم الإكسيل يحتاج إلى أتمتة مهمة متكررة، كانت الإجابة دائمًا هي نفسها: Visual Basic for Applications (VBA). على الرغم من قوة VBA الهائلة، إلا أنها تتطلب معرفة بالبرمجة، وتعمل حصريًا ضمن بيئة سطح المكتب لـ Microsoft Office، وقد تكون مخيفة للمبتدئين. أما اليوم، فهناك بديل حديث يعتمد على السحابة: Microsoft Power Automate.
يتيح لك Power Automate (المعروف سابقًا باسم Microsoft Flow) إنشاء تدفقات عمل (workflows) مؤتمتة بين تطبيقاتك وخدماتك المفضلة لمزامنة الملفات، والحصول على الإشعارات، وجمع البيانات، وغيرها الكثير. وأفضل ما في الأمر هو أنه لا يتطلب أي معرفة برمجية للبدء. في هذا الدليل الشامل، سنستكشف كيف يمكنك استخدام Power Automate لتحقيق أتمتة سلسة للإكسيل دون كتابة سطر واحد من كود VBA.
قبل الغوص في تفاصيل "كيفية" العمل، من المهم فهم "السبب". في حين أن تعلم أساسيات VBA: برنامجك الأول في الإكسيل لا يزال مهارة قيّمة لمعالجة جداول البيانات المعقدة والمقيدة بسطح المكتب، فإن Power Automate يتألق في بيئة العمل الحديثة والمتصلة بالإنترنت.
إليك مقارنة سريعة توضح متى تستخدم كل أداة:
| الميزة | Excel VBA | Power Automate |
|---|---|---|
| البيئة | سطح المكتب (بدون إنترنت بشكل أساسي) | قائم على السحابة (يتطلب إنترنت) |
| منحنى التعلم | شاق (يتطلب معرفة بالبرمجة) | سهل (واجهة مرئية تعتمد على السحب والإفلات) |
| التكامل مع التطبيقات الخارجية | صعب (يتطلب واجهات برمجة تطبيقات معقدة) | تكامل أصلي مع مئات التطبيقات |
| أنواع المشغلات (Triggers) | أحداث المصنف (فتح، نقر، تغيير) | أحداث خارجية (رسائل البريد الإلكتروني، إرسال النماذج، Webhooks) |
إذا كان هدفك هو أتمتة إدخال البيانات من مصادر خارجية، أو إرسال رسائل بريد إلكتروني مؤتمتة بناءً على بيانات جدول البيانات، أو ربط الإكسيل ببرامج مثل Salesforce، أو SharePoint، أو Outlook، فإن Power Automate هو خيارك الأفضل. ومع ذلك، إذا كان تركيزك منصبًا حصريًا على أتمتة التقارير باستخدام Excel VBA وتنسيق مئات الملفات المحلية، فقد يظل VBA هو المتربع على العرش.
في Power Automate، يُطلق على التسلسل المؤتمت اسم التدفق (Flow). يتكون كل تدفق من ثلاث لبنات بناء أساسية:
لأتمتة الإكسيل بنجاح باستخدام Power Automate، يجب أن يفي إعدادك بمتطلبين حاسمين:
نظرًا لأن Power Automate هي خدمة سحابية، فلا يمكنها التفاعل بشكل موثوق مع ملف إكسيل محفوظ محليًا على محرك الأقراص `C:` في حاسوبك. يجب حفظ مصنفك في OneDrive for Business أو مكتبة مستندات SharePoint.
لا يمكن لـ Power Automate ببساطة إسقاط البيانات في ورقة عمل فارغة؛ بل تحتاج إلى حدود واضحة المعالم. يجب عليك تنسيق نطاق بياناتك المستهدف كجدول إكسيل رسمي. للقيام بذلك:
دعونا نستعرض سيناريو عملي للغاية: تسجيل استفسارات البريد الإلكتروني الواردة تلقائيًا في جدول بيانات إكسيل. هذا مثال مثالي على كيف وفرت شركة ناشئة 20 ساعة أسبوعيًا بفضل أتمتة الإكسيل عن طريق التخلص من إدخال البيانات اليدوي.
أنشئ ملف إكسيل جديدًا في OneDrive باسم "Email_Log.xlsx". قم بإنشاء جدول يحتوي على الرؤوس التالية:
قم بتنسيق هذا النطاق كجدول وقم بتسميته "EmailLogTable". ثم أغلق الملف.
قم بتسجيل الدخول إلى Power Automate عبر (make.powerautomate.com). في الشريط الجانبي الأيسر، انقر على إنشاء (Create)، ثم حدد تدفق سحابي مؤتمت (Automated cloud flow).
قم بتسمية التدفق الخاص بك "Log Incoming Emails". في مربع البحث "اختيار مشغل التدفق"، اكتب "Outlook". حدد عند وصول بريد إلكتروني جديد (V3) - Office 365 Outlook وانقر على إنشاء.
في مصمم التدفق، انقر على مربع المشغل. يمكنك تحديد المعلمات هنا، مثل التشغيل فقط لرسائل البريد الإلكتروني التي تحتوي على عامل تصفية معين للموضوع (مثل "Inquiry"). بالنسبة لهذا الدليل، سنتركه ليعمل مع جميع رسائل البريد الإلكتروني في صندوق الوارد.
انقر على زر + خطوة جديدة (+ New step). ابحث عن "Excel" وحدد موصل Excel Online (Business). من قائمة الإجراءات، اختر إضافة صف إلى جدول (Add a row into a table).
الآن، قم بتعيين مسار الملف:
بمجرد تحديد الجدول، سيعرض Power Automate تلقائيًا رؤوس الأعمدة التي أنشأتها في الخطوة 1. انقر داخل كل حقل لتعيين "المحتوى الديناميكي" (البيانات القادمة من مشغل البريد الإلكتروني):
انقر على حفظ (Save). لقد قمت الآن بإنشاء أتمتة تعمل بكامل طاقتها دون كتابة سطر واحد من VBA! أرسل رسالة بريد إلكتروني تجريبية إلى حسابك، وشاهد جدول الإكسيل وهو يمتلئ بالبيانات تلقائيًا.
من إحدى السلبيات في Power Automate أن البيانات التي يجلبها قد لا تكون منسقة بالشكل الذي تريده تمامًا. على سبيل المثال، الـ Received Time من مثال البريد الإلكتروني الخاص بنا سيتم استيراده كطابع زمني فوضوي بتنسيق ISO 8601 (مثل 2023-11-28T14:32:00Z).
بدلاً من محاولة تحليل هذا النص باستخدام تعبيرات Power Automate المعقدة، يمكنك الاعتماد على صيغ الإكسيل القياسية داخل جدولك. أضف عمودًا جديدًا إلى جدول الإكسيل باسم "Clean Date". ولأنك تستخدم جدول إكسيل رسمي، يمكنك كتابة صيغة في الصف الأول، وسيتم نسخها تلقائيًا للأسفل في كل مرة يضيف فيها Power Automate صفًا جديدًا.
لاستخراج التاريخ فقط من الطابع الزمني، يمكنك استخدام مزيج من الدالتين LEFT و VALUE، مع تطبيق التنسيق القياسي عليهما:
=VALUE(LEFT([@[Date Received]], 10))
قم بتنسيق هذا العمود الجديد كـ "تاريخ مختصر" (Short Date) في الإكسيل. الآن، كلما عمل التدفق، سيتعامل الإكسيل مع تحويل البيانات على الفور.
يمكنك أيضًا استغلال هذه الفرصة لعمل إسناد ترافقي (Cross-reference) للبيانات الواردة. على سبيل المثال، إذا أردت التحقق مما إذا كان البريد الإلكتروني للمرسل ينتمي بالفعل إلى عميل حالي في ورقة عمل أخرى، يمكنك استخدام INDEX MATCH: طريقة البحث الفائقة مباشرة في جدولك المؤتمت:
=IFERROR(INDEX(Clients!B:B, MATCH([@[Sender Email]], Clients!A:A, 0)), "New Lead")
بهذا الإعداد، يصبح جدول بياناتك بمثابة قاعدة بيانات حية تتنفس وتصنف البيانات تلقائيًا.
إن إضافة صفوف إلى الجداول هي مجرد البداية. يقدم Power Automate العديد من إجراءات الإكسيل القوية الأخرى:
تخيل أنك بحاجة إلى إرسال ملخص لبيانات المبيعات كل يوم جمعة في الساعة 5 مساءً. يمكنك إنشاء تدفق سحابي مجدول (Scheduled cloud flow) يعمل أسبوعيًا. يمكن للتدفق استخدام إجراء "سرد الصفوف الموجودة في جدول" لسحب بيانات الأسبوع، واستخدام إجراء "إنشاء جدول HTML" لتنسيقه، ثم إرساله عبر موصل Outlook. يعد هذا بديلاً مذهلاً لإعداد التقارير المعقدة القائمة على وحدات الماكرو.
لإجراء معالجة بيانات أكثر تقدمًا قبل أن تصل البيانات إلى الإكسيل، قد ترغب في الاطلاع على Power Query: استيراد وتحويل البيانات كالمحترفين، والذي يُعد رفيقًا رائعًا لـ Power Automate.
بينما تقوم ببناء تدفقات أكثر تعقيدًا، قد تواجه بعض العقبات الشائعة. إليك كيفية حلها:
إذا كان هناك شخص ما يفتح ملف الإكسيل في تطبيق سطح المكتب ولم تتم مزامنته بشكل صحيح مع OneDrive، فقد يفشل Power Automate في إضافة صف. تأكد دائمًا من تعيين الملف على الحفظ التلقائي (AutoSave) وتخزينه في بيئة سحابية مشتركة لمنع قفل الملف.
إذا قمت بحذف جدول الإكسيل ثم أعدت إنشاءه، فسيفقد Power Automate الاتصال به، حتى لو قمت بتسمية الجدول الجديد بنفس الاسم تمامًا. حيث يقوم الإكسيل بتعيين مُعرّف فريد مخفي لكل جدول. إذا قمت بإعادة إنشاء جدول، يجب عليك العودة إلى التدفق الخاص بك، وإعادة تحديد الجدول من القائمة المنسدلة، وإعادة تعيين المحتوى الديناميكي الخاص بك.
عند استخدام إجراء "سرد الصفوف الموجودة في جدول"، يقيد Power Automate عدد الصفوف المُرجعة إلى 256 صفًا بشكل افتراضي. إذا كان جدولك يحتوي على 1,000 صف، فلن تحصل عليها جميعًا. لإصلاح ذلك، انقر على النقاط الثلاث (...) في الإجراء، وحدد الإعدادات (Settings)، ثم قم بتشغيل ترقيم الصفحات (Pagination)، وعيّن الحد الأقصى للرقم الذي تريده (يصل إلى 100,000).
يتطلب الانتقال من إدخال البيانات اليدوي إلى Power Automate تحولاً في طريقة تفكيرك بشأن جداول بياناتك. أنت لم تعد تملأ الخلايا فحسب؛ بل تقوم بتصميم أنظمة بيانات. لجعل هذه الأنظمة تعمل بشكل خالٍ من العيوب، تحتاج إلى صيغ إكسيل قوية في جداولك للتعامل مع البيانات الواردة المؤتمتة.
إذا واجهت صعوبة في دمج دوال مثل VLOOKUP، أو INDEX، أو MATCH، أو عبارات IF المتداخلة لمعالجة البيانات التي يجلبها Power Automate، فإن GPTExcel يمكنه مساعدتك. ما عليك سوى وصف حاجتك بلغة بسيطة — على سبيل المثال، "أحتاج إلى صيغة تتحقق من عمود التاريخ المؤتمت وتُرجع 'متأخر' إذا كان أقدم من 30 يومًا" — وسيقوم GPTExcel بإنشاء الصيغة الدقيقة والجاهزة للنسخ على الفور.
يتم تضمين إصدار أساسي من Power Automate في معظم اشتراكات Microsoft 365 التجارية والتعليمية. ويشمل ذلك الموصلات القياسية مثل Excel Online و Outlook و SharePoint. بينما تتطلب الموصلات المميزة (مثل Salesforce أو واجهات برمجة التطبيقات المخصصة) ترخيص Power Automate Premium مستقلاً.
نعم، ولكن مع بعض القيود. يمكنك استخدام إجراء "تشغيل برنامج نصي" (Run script) في Power Automate لتشغيل نصوص الأوفيس (Office Scripts - وهي البديل الحديث والقائم على السحابة من مايكروسوفت لـ VBA والمكتوب بلغة TypeScript). ومع ذلك، لا يمكنه تشغيل وحدات الماكرو التقليدية المكتوبة بـ VBA بامتداد `.xlsm` مباشرة من السحابة دون استخدام بوابة بيانات محلية (on-premises data gateway) معقدة.
تختلف فترات الاستقصاء (Polling intervals) باختلاف المشغلات. في حين أن بعض المشغلات (مثل الضغط على زر أو طلب HTTP) تعمل فورًا، إلا أن مشغلات الاستقصاء (مثل "عند إنشاء ملف جديد" أو "عند وصول بريد إلكتروني") قد تستغرق بضع دقائق للتعرف على الحدث، اعتمادًا على مستوى ترخيص Microsoft 365 الخاص بك.
نعم! لا يقتصر Power Automate على بيئة مايكروسوفت وحدها. يوجد موصل جداول بيانات جوجل مدعوم بالكامل يتيح لك إضافة الصفوف، والحصول عليها، وتحديث البيانات في Google Workspace، تمامًا كما تفعل مع Excel Online.
اكتشف كيفية أتمتة مهام الإكسيل بدون الحاجة إلى VBA باستخدام Power Automate. تعلم إنشاء تدفقات تعمل بالأحداث، ومعالجة البيانات، والاتصال بتطبيقات أخرى.
اكتشف كيفية بناء أنظمة تقارير مؤتمتة في Excel باستخدام VBA. تعلم سحب البيانات، وإدراج الصيغ، وتنسيق الخلايا، وتصدير التقارير باستخدام تعليمات برمجية خطوة بخطوة.
ابدأ البرمجة في إكسيل باستخدام VBA. تعرف على علامة التبويب "المطور"، والمتغيرات، والحلقات، والشروط، وكيفية كتابة أول ماكرو لك من الصفر.