تحديث وحدات ماكرو Word VBA الموزعة - هل من الممكن ، كيف ستفعل ذلك؟

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

سؤال

لدي ماكرو VBA يتم تشغيله في Word 2003. إنه وحدة نمطية واحدة والشفرة مرفقة بنموذج مستخدم ، وينتقل إلى حوالي 30 موقع عميل.عندما طرحت هذا لأول مرة ، أرسلت شخصًا ما إلى كل موقع لوضع قالب .dot في مجلد بدء تشغيل Word لكل مربع من 30 مربعًا ، مما يجعل الماكرو يظهر كزر على شريط الأدوات لكل مستخدم.

كل المستخدمين متصلون بالإنترنت.

يختلف موقع نموذج dot. من جهاز إلى آخر ، لذا أفترض أن "المثبتات" ستكون خارج التشغيل؟

أتوقع أن الماكرو الذي تم إجراؤه بحاجة إلى التغيير من وقت لآخر.هل هناك أي طريقة يمكنني من خلالها حث المستخدم على الضغط على زر لجعل الماكرو يقوم بتحديث نفسه؟

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

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

المحلول

يمكن القيام بذلك.

  1. أنشئ ملفي .dot و loader.dot (للتحقق من وجود تحديثات) و worker.dot (الماكرو الرئيسي الذي تستخدمه وتريد أن تكون قادرًا على التحديث تلقائيًا).

  2. يجب أن ينتقل أول أداة تحميل. dot إلى C: \ Program Files \ Microsoft Office \ OFFICE11 \ STARTUP

هذا موقع موثوق به وسيتم تحميل الماكرو في أي مستند Word.استخدم روتينًا فرعيًا () AutoExec للتأكد من أنه يعمل كلما تم تحميل مستند.

يمكن لـ worker.dot الانتقال إلى أي موقع تثبيت ثابت ، على سبيل المثالC: \ yourapp \ worker.dot

يتمثل المنطق في loader.dot في إزالة أي مرجع إلى worker.dot (اضطررت إلى تمكين الثقة في نموذج VBA في إعدادات أمان الماكرو) ، والتحقق من وجود تحديث باستخدام استدعاء http ، إذا كان الإصدار الجديد متاحًا ، فقم بتنزيله فوق worker.dot، ثم أضف مرجعًا من ملف يحدد worker.dot

نصائح أخرى

لست متأكدًا من أن نموذج ضغط المستخدم على الزر مثالي.

كنت سأفكر في إنشاء نموذج "مُحمل".وتتمثل مهمتها في التشغيل عند بدء التشغيل والبحث عن تحديثات للقالب / الماكرو الذي لديك بالفعل وتنزيل / تثبيت / أيًا من هذه الملفات عند تغييرها.ثم قم بتحميل أي شيء مثبت محليًا للاستخدام.

يجب أن تفكر أيضًا فيما إذا كانت هناك مشكلة في حالة توفر تحديث ولكن لا يستخدمه شخص ما (ربما يكون قد بدأ تشغيل Word قبل تحميل التغيير ، أو أنه غير متصل بالإنترنت).أيضًا ، هل تحتاج إلى معرفة الإصدار الذي يستخدمه الأشخاص؟هل لديك أداة تحميل تقرير مرة أخرى ، عبر HTTP أو البريد الإلكتروني أو طريقة أخرى (Twitter؟)

يجب أن يكون أي محمل من هذا القبيل إما مستقرًا للغاية (وإلا فإنك فقط تستبدل المطاردة حول استبدال القالب الهدف بمطاردة استبدال اللودر) أو قادرًا على تحديث نفسه عند الضرورة.

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