يمكن قمعها موجه تحذير الماكرو برنامج Visio عندما أتمتة في التعليمات البرمجية؟

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

  •  22-07-2019
  •  | 
  •  

سؤال

وأنا أتمتة Visio 2003 من التطبيق VB.NET. قانون بلدي يشبه هذا (مع الاشياء رتيبا إزالة):

Dim objApp As New Microsoft.Office.Interop.Visio.InvisibleApp
objApp.Settings.ShowFileOpenWarnings = False
Dim objDoc As Microsoft.Office.Interop.Visio.Document
objDoc = objApp.Documents.Open(VisioFilename)

ولقد وجدت أن السطر الأخير يسبب Visio لرفع MESSAGEBOX مخفي قائلا:

هي <اقتباس فقرة> وحدات الماكرو في هذا المستند معطلة لأن مستوى الأمان مرتفع، وحدات الماكرو لم يتم رقميا أو التحقق منها آمن. لتشغيل وحدات الماكرو، يمكنك إما أن يكون لهم توقيع أو تغيير مستوى الأمان.

وبما أن هذا سوف يتم تشغيلها على أجهزة الكمبيوتر أنا لا نتحكم مع الملفات I لا نتحكم أيا من هذه الخيارات يعمل بالنسبة لي. في الحقيقة أنا لا يهمني أن وحدات الماكرو معطلة، أنا فقط باستخدام Visio لتحويل الملف من انها تنسيق أصلي إلى SVG. أنا بالتأكيد لا أريد أن أقترح على المستخدمين بأنهم خفض مستوى الأمان، ولا أريد أن خفضه بالنسبة لهم.

وكما ترون من قانون بلدي أعلاه، I إيقاف ملف تحذيرات مفتوحة ولكن هذا لا يبدو أن تشمل تحذير الماكرو. وبما أنني أستخدم Visio.InvisibleApp اتضح لم يتم عرض تحذير للمستخدم. تشغيل سوف مثيل مرئية من Visio لا يساعد لأنني خلق تحويل دفعة، حتى لو كانت الرسالة واضحة وهو ما يعني أن المستخدم يجب أن انقر فوق موافق لكل ملف. من شأنه أن يجعل ميزة تحويل دفعة عديمة الفائدة أساسا.

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

أحد يعرف إذا كان هذا التحذير يمكن قمعها عند استخدام الأتمتة مع برنامج Visio؟ يمكنني أن أفعل لو أتحول إلى Visio 2007؟

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

المحلول

وهناك طريقة OpenEx أن يعمل تماما مثل توسيع ولكنه يقبل الأعلام. واحد من هؤلاء الأعلام هو visOpenMacrosDisabled (& H80).

وهناك أيضا بعض الأعلام يدوية أخرى في وجود مثل visOpenDontList (& H8) حتى الملفات المفتوحة من خلال لن يتم إضافة أتمتة إلى قائمة الملفات الأخيرة.

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