MS Excel Automation بدون وحدات الماكرو في التقارير التي تم إنشاؤها. أي أفكار؟

StackOverflow https://stackoverflow.com/questions/2839676

سؤال

أعلم أن الويب مليء بأسئلة مثل هذه ، لكنني ما زلت لم أتمكن من تطبيق الإجابات التي يمكنني العثور عليها على موقفي.

أدرك أن هناك VBA ، لكنني لم أعجبني دائمًا بوجود البرنامج/الماكرو الذي يعيش داخل ملف Excel ، مع التحذيرات الأمنية الناتجة ، وما إلى ذلك. تركهم خالية من الكلي. الآن ، تمكنت من "رسم العمود الأول الأزرق" لجميع الملفات في دليل يتبع هذا النهج ، لكنني بحاجة إلى القيام بعمليات أكثر تعقيدًا (المخططات ، الجداول المحورية ، إلخ) ، والتي ستكون أصعب بكثير (مستحيل ؟) مع vbscript من مع VBA.

بالنسبة لهذا المثال المحدد ، فإن معرفة كيفية إزالة جميع وحدات الماكرو من جميع الملفات بعد المعالجة ستكون كافية ، ولكن جميع الاقتراحات مرحب بها. أي مراجع جيدة؟ سيتم تقدير أي نصيحة حول أفضل طريقة للتعامل مع معالجة الدُفعات الخارجية لملفات Excel.

شكرًا!

ملاحظة: لقد جربت بفارغ الصبر حزمة مارك هاموند الرائعة PYWIN32 ، لكن عدم وجود توثيق وردود الفعل المترجمة ، أزعجني.

هل كانت مفيدة؟

المحلول

يمكنك وضع وحدات الماكرو في ملف Excel منفصل.

نصائح أخرى

تقريبًا أي شيء يمكنك القيام به في VBA لأتمتة Excel التي يمكنك القيام بها في VBScript (أو أي نص/لغة أخرى تدعم COM).

بمجرد إنشاء مثيل من Excel.Application ، يمكنك إسقاط VBA إلى VBS والانتقال من هناك.

إذا كانت إمكانية Excel/VBA التي تتطلع إلى استخدامها ، فيمكنك دائمًا البدء بإنشاء جميع التعليمات البرمجية التي ستتفاعل مع ملفات Excel التي تريد العمل عليها داخل ملف Excel - نوع من الملف الرئيسي يتم فصله عن الملفات العادية ، كما اقترح Karsten W.

هذا يمنحك حرية كتابة Excel/VBA.

بعد ذلك ، يمكنك الاتصال بمصنفك الرئيسي (الذي يمكن تكوينه لتشغيل التعليمات البرمجية عند فتح الكتاب ، على سبيل المثال) من برنامج نصي VB وملف الدُفعات ومجدول المهام وما إلى ذلك.

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top