تشغيل ماكرو في الوقت المحدد

حالة شائعة جدًا في الممارسة: تحتاج إلى تشغيل واحد أو أكثر من وحدات الماكرو في وقت معين أو بتردد معين. على سبيل المثال ، لديك تقرير كبير وثقيل يتم تحديثه لمدة نصف ساعة وتريد تشغيل التحديث قبل نصف ساعة من وصولك إلى العمل في الصباح. أو لديك ماكرو يجب أن يرسل تلقائيًا رسائل بريد إلكتروني إلى الموظفين بتردد محدد. أو ، عند العمل باستخدام PivotTable ، تريد أن يتم تحديثه بسرعة كل 10 ثوانٍ ، وهكذا.

لنلقِ نظرة على قدرة Excel و Windows على تنفيذ ذلك.

تشغيل ماكرو بتردد معين

أسهل طريقة للقيام بذلك هي استخدام طريقة VBA المضمنة التطبيق. في الوقت المناسبهو الذي يقوم بتشغيل الماكرو المحدد في الوقت المحدد. دعونا نفهم هذا بمثال عملي.

افتح محرر Visual Basic بالزر الذي يحمل نفس الاسم في علامة التبويب المطور (مطور) أو اختصار لوحة المفاتيح قديم+F11، أدخل وحدة جديدة من خلال القائمة إدراج - وحدة وانسخ الكود التالي هناك:

Dim TimeToRun 'المتغير العام حيث يتم تخزين وقت التشغيل التالي' هذا هو الماكرو الرئيسي Sub MyMacro () Application.Calculate 'إعادة حساب نطاق الكتاب ("A1"). Interior.ColorIndex = Int (Rnd () * 56)' تعبئة الخلية A1 بلون عشوائي :) Call NextRun 'قم بتشغيل الماكرو NextRun لتعيين وقت التشغيل التالي End Sub' يعيّن هذا الماكرو وقت التشغيل التالي للماكرو الرئيسي Sub NextRun () TimeToRun = Now + TimeValue ("00: 00:03 ") 'أضف 3 ثوانٍ إلى الوقت الحالي Application.OnTime TimeToRun ،" MyMacro "" جدولة ماكرو التشغيل التالي End Sub' لبدء تسلسل التكرار Sub Start () استدعاء NextRun End Sub 'لإيقاف تسلسل التكرار إنهاء فرعي () Application.OnTime TimeToRun ، "MyMacro" ، ، False End Sub  

لنكتشف ما هو هنا.

أولاً ، نحتاج إلى متغير يقوم بتخزين وقت التشغيل التالي لماكرو - لقد سميته TimeToRun. يرجى ملاحظة أن محتويات هذا المتغير يجب أن تكون متاحة لجميع وحدات الماكرو اللاحقة ، لذلك نحتاج إلى توفيرها شامل، أي أعلن في بداية الوحدة قبل الأولى فرعية.

بعد ذلك يأتي الماكرو الرئيسي لدينا ماي ماكرو، والتي ستؤدي المهمة الرئيسية - لإعادة حساب الكتاب باستخدام الطريقة التطبيق. لتوضيح الأمر ، أضفت الصيغة = TDATE () إلى الورقة في الخلية A1 ، والتي تعرض التاريخ والوقت - عند إعادة الحساب ، سيتم تحديث محتوياتها أمام أعيننا مباشرة (فقط قم بتشغيل عرض الثواني في الخلية صيغة). لمزيد من المتعة ، أضفت أيضًا إلى الماكرو الأمر لملء الخلية A1 بلون محدد عشوائيًا (رمز اللون هو عدد صحيح في النطاق 0..56 ، والذي يتم إنشاؤه بواسطة الوظيفة التجمع الوطني الديمقراطي وتقريب ما يصل إلى دالة عدد صحيح الباحث).

الماكرو التالي يضيف إلى القيمة السابقة TimeToRun 3 ثوانٍ أخرى ثم يقوم بجدولة التشغيل التالي للماكرو الرئيسي ماي ماكرو لهذا الوقت الجديد. بالطبع ، من الناحية العملية ، يمكنك استخدام أي فترات زمنية أخرى تحتاجها عن طريق تعيين وسيطات الوظيفة الوقت ثمين بالتنسيق hh: mm: ss.

وأخيرًا ، للراحة فقط ، تمت إضافة المزيد من وحدات الماكرو لإطلاق التسلسل. الصفحة الرئيسية واكتمالها نهاية. يستخدم الأخير وسيطة الطريقة الرابعة لكسر التسلسل. في الوقت المحدد متساو خطأ.

المجموع إذا قمت بتشغيل الماكرو الصفحة الرئيسية، ثم ستدور هذه الدائرة بأكملها ، وسنرى الصورة التالية على الورقة:

يمكنك إيقاف التسلسل عن طريق تشغيل الماكرو ، على التوالي نهاية. للراحة ، يمكنك تعيين اختصارات لوحة المفاتيح لكل من وحدات الماكرو باستخدام الأمر وحدات الماكرو - خيارات علامة التبويب المطور (مطور - وحدات ماكرو - خيارات).

تشغيل ماكرو على جدول

بالطبع ، كل ما هو موصوف أعلاه ممكن فقط إذا كان لديك Microsoft Excel قيد التشغيل وملفنا مفتوح فيه. الآن دعونا نلقي نظرة على حالة أكثر تعقيدًا: تحتاج إلى تشغيل Excel وفقًا لجدول زمني معين ، على سبيل المثال ، كل يوم في الساعة 5:00 ، افتح تقريرًا كبيرًا ومعقدًا فيه وقم بتحديث جميع الاتصالات والاستعلامات فيه حتى يتم ذلك. كن جاهزا في الوقت الذي نصل فيه إلى العمل 🙂

في مثل هذه الحالة ، من الأفضل استخدام برنامج جدولة Windows - برنامج مدمج خصيصًا في أي إصدار من Windows يمكنه تنفيذ إجراءات محددة وفقًا لجدول زمني. في الواقع ، أنت تستخدمه بالفعل دون معرفة ذلك ، لأن جهاز الكمبيوتر الخاص بك يقوم بانتظام بالبحث عن التحديثات ، وتنزيل قواعد بيانات جديدة لمكافحة الفيروسات ، ومزامنة المجلدات السحابية ، وما إلى ذلك. كل هذا من عمل المجدول. لذا فإن مهمتنا هي أن نضيف إلى المهام الحالية مهمة أخرى من شأنها تشغيل Excel وفتح الملف المحدد فيه. وسنعلق الماكرو الخاص بنا على الحدث مصنف_مفتوح هذا الملف - وتم حل المشكلة.

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

بدء تشغيل المجدول

لذلك لنبدأ المجدول. للقيام بذلك ، يمكنك إما:

  • انقر بزر الماوس الأيمن على الزر آبدأ واختر إدارة الكمبيوتر (إدارة الكمبيوتر)
  • حدد في لوحة التحكم: الإدارة - برنامج جدولة المهام (لوحة التحكم - أدوات إدارية - برنامج جدولة المهام)
  • اختر من القائمة الرئيسية ابدأ - الملحقات - أدوات النظام - برنامج جدولة المهام
  • اضغط على اختصار لوحة المفاتيح كسب+R، أدخل taskschd.msc والصحافة أدخل

يجب أن تظهر النافذة التالية على الشاشة (لدي نسخة باللغة الإنجليزية، ولكن يمكنك أيضًا الحصول على نسخة):

تشغيل ماكرو في الوقت المحدد

إنشاء مهمة

لإنشاء مهمة جديدة باستخدام معالج بسيط خطوة بخطوة ، انقر فوق الارتباط قم بإنشاء مهمة بسيطة (إنشاء مهمة أساسية) في اللوحة اليمنى.

في الخطوة الأولى من المعالج ، أدخل اسم ووصف المهمة المراد إنشاؤها:

تشغيل ماكرو في الوقت المحدد

انقر على الزر التالى (التالى) وفي الخطوة التالية ، نختار المشغل - تكرار الإطلاق أو الحدث الذي سيطلق مهمتنا (على سبيل المثال ، تشغيل الكمبيوتر):

تشغيل ماكرو في الوقت المحدد

إذا اخترت يوميًا (اليومي)، ثم في الخطوة التالية ، ستحتاج إلى تحديد وقت محدد ، وتاريخ بدء التسلسل والخطوة (كل يوم ثاني ، يوم خامس ، وما إلى ذلك):

تشغيل ماكرو في الوقت المحدد

الخطوة التالية هي اختيار إجراء - تشغيل البرنامج (بدء برنامج):

تشغيل ماكرو في الوقت المحدد

وأخيرًا ، الشيء الأكثر إثارة للاهتمام هو ما يجب فتحه بالضبط:

تشغيل ماكرو في الوقت المحدد

في مجلة البرنامج أو البرنامج النصي (برنامج / نص) تحتاج إلى إدخال المسار إلى Microsoft Excel كبرنامج ، أي مباشرة إلى ملف Excel القابل للتنفيذ. على أجهزة الكمبيوتر المختلفة التي تعمل بإصدارات مختلفة من Windows و Office ، قد يكون هذا الملف في مجلدات مختلفة ، لذلك إليك بعض الطرق لمعرفة موقعه:

  • انقر بزر الماوس الأيمن فوق الرمز (الاختصار) لتشغيل Excel على سطح المكتب أو في شريط المهام وحدد الأمر المواد (الخصائص)، ثم في النافذة التي تفتح ، انسخ المسار من السطر الهدف:

    تشغيل ماكرو في الوقت المحدد                      تشغيل ماكرو في الوقت المحدد

  • افتح أي مصنف Excel ، ثم افتح مهمة مدير (مدير المهام) دفع CTRL+قديم+من ومن خلال النقر بزر الماوس الأيمن على الخط مايكروسوفت إكسل، اختر أمرًا المواد (الخصائص). في النافذة التي تفتح ، يمكنك نسخ المسار ، لا تنسى إضافة شرطة مائلة للخلف إليها و EXCEL.EXE في النهاية:

    تشغيل ماكرو في الوقت المحدد              تشغيل ماكرو في الوقت المحدد

  • افتح Excel ، افتح محرر Visual Basic باستخدام اختصار لوحة المفاتيح قديم+F11، لوحة مفتوحة فوري مزيج من CTRL+G، أدخل الأمر فيه:

    ؟ التطبيق

    ... وانقر فوق أدخل

    تشغيل ماكرو في الوقت المحدد

    انسخ المسار الناتج ، لا تنسى إضافة شرطة مائلة للخلف إليها و EXCEL.EXE في النهاية.

في مجلة إضافة وسائط (اختياري) (أضف وسيطات (اختياري)) تحتاج إلى إدخال المسار الكامل للكتاب باستخدام الماكرو الذي نريد فتحه.

عندما يتم إدخال كل شيء ، انقر فوق التالى وثم نهاية (ينهي). يجب إضافة المهمة إلى القائمة العامة:

تشغيل ماكرو في الوقت المحدد

من الملائم إدارة المهمة التي تم إنشاؤها باستخدام الأزرار الموجودة على اليمين. هنا يمكنك اختبار المهمة عن طريق تشغيلها على الفور (يجري)دون انتظار الوقت المحدد. يمكنك إلغاء تنشيط مهمة مؤقتًا (إبطال)بحيث يتوقف عن العمل لفترة من الوقت ، مثل عطلتك. حسنًا ، يمكنك دائمًا تغيير المعلمات (التواريخ والوقت واسم الملف) من خلال الزر المواد (الخصائص).

أضف ماكرو لفتح ملف

الآن يبقى أن نعلق في كتابنا إطلاق الماكرو الذي نحتاجه في حدث فتح الملف. للقيام بذلك ، افتح الكتاب وانتقل إلى محرر Visual Basic باستخدام اختصار لوحة المفاتيح قديم+F11 أو الأزرار Visual Basic علامة التبويب المطور (مطور). في النافذة التي تفتح في الزاوية اليسرى العليا ، تحتاج إلى العثور على ملفنا على الشجرة والنقر نقرًا مزدوجًا لفتح الوحدة هذا الكتاب (هذا المصنف).

إذا كنت لا ترى هذه النافذة في محرر Visual Basic ، فيمكنك فتحها من خلال القائمة عرض - مستكشف المشروع.

في نافذة الوحدة النمطية التي تفتح ، أضف معالج حدث مفتوح للكتاب عن طريق تحديده من القوائم المنسدلة في الأعلى مصنف и ساعات العملعلى التوالي:

تشغيل ماكرو في الوقت المحدد

يجب أن يظهر نموذج الإجراء على الشاشة. مصنف_مفتوححيث بين السطور فرع خاص и نهاية الفرعية وتحتاج إلى إدراج أوامر VBA التي يجب تنفيذها تلقائيًا عند فتح مصنف Excel هذا ، عندما يفتحه المجدول وفقًا للجدول. فيما يلي بعض الخيارات المفيدة لرفع تردد التشغيل:

  • ThisWorkbook.RefreshAll - تحديث كافة استعلامات البيانات الخارجية واستعلامات Power Query و PivotTables. الخيار الأكثر تنوعًا. فقط لا تنس السماح بالاتصالات بالبيانات الخارجية افتراضيًا وتحديث الروابط عبر ملف - خيارات - مركز التوثيق - خيارات مركز التوثيق - محتوى خارجيوإلا فعند فتح الكتاب سيظهر تحذير قياسي وسيقوم برنامج Excel بدون تحديث أي شيء بانتظار مباركتك على شكل الضغط على الزر تمكين المحتوى (تمكين المحتوى):

    تشغيل ماكرو في الوقت المحدد

  • ActiveWorkbook.Connections (“Connection_Name”). تحديث - تحديث البيانات على اتصال Connection_Name.
  • أوراق (“Sheet5") .PivotTables (“ PivotTable1«) .PivotCache. تحديث - تحديث جدول محوري واحد مسمى الجدول المحوري1 على الورقة Sheet5.
  • التطبيق - إعادة حساب كافة مصنفات Excel المفتوحة.
  • Application.CalculateFullRebuild - إعادة الحساب القسري لجميع الصيغ وإعادة بناء جميع التبعيات بين الخلايا في جميع المصنفات المفتوحة (أي ما يعادل إعادة إدخال جميع الصيغ).
  • أوراق العمل ("تقرير") - ورقة طباعة الصور.
  • اتصل بـ MyMacro - قم بتشغيل ماكرو مسمى ماي ماكرو.
  • ThisWorkbook. حفظ - احفظ الكتاب الحالي
  • ThisWorkbooks.SaveAs "D: ArchiveReport" واستبدال (الآن ، ":" ، "-") و ".xlsx" - احفظ الكتاب في مجلد D: أرشفة تحت الاسم الصور مع التاريخ والوقت الملحق بالاسم.

إذا كنت تريد تنفيذ الماكرو فقط عند فتح الملف بواسطة المجدول في الساعة 5:00 صباحًا ، وليس في كل مرة يفتح فيها المستخدم المصنف أثناء يوم العمل ، فمن المنطقي إضافة التحقق من الوقت ، على سبيل المثال:

إذا كان التنسيق (الآن ، "hh: mm") = "05:00" ثم ThisWorkbook.RefreshAll  

هذا كل شئ. لا تنس حفظ المصنف الخاص بك بتنسيق ممكّن للماكرو (xlsm أو xlsb) ويمكنك إغلاق Excel بأمان والعودة إلى المنزل ، وترك الكمبيوتر قيد التشغيل. في لحظة معينة (حتى إذا كان الكمبيوتر مقفلاً) ، سيقوم المجدول بتشغيل Excel وفتح الملف المحدد فيه ، وسيقوم الماكرو الخاص بنا بتنفيذ الإجراءات المبرمجة. وستتمتع بالرفاهية في السرير بينما يتم إعادة حساب تقريرك الثقيل تلقائيًا - الجمال! 🙂

  • ما هي وحدات الماكرو ، وكيفية استخدامها ، ومكان إدراج التعليمات البرمجية لـ Visual Basic في Excel
  • كيفية إنشاء ماكرو الوظيفة الإضافية لبرنامج Excel
  • كيفية استخدام مصنف الماكرو الشخصي كمكتبة لوحدات الماكرو في Excel

اترك تعليق