غير قادر على الوصول إلى خاصية مخصصة وثيقة OPN XML باستخدام VBA

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

سؤال

في محاولة للوصول إلى CustomDocumentProperty من رمز VBA.أتحقق من ملف Custom.xml موجود خاصية مخصصة.أي شيء أنا في عداد المفقودين؟هنا هو ملف DOCM!

وثيقة عينة المرفقة

تحديث

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

giveacodicetagpre.

/ A>

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

المحلول

في XML (custom.xml)، تحتوي خاصية المستندات المخصصة الخاصة بك على FMTID="{3DC82474-74E0-4A77-944F-F36D8A5B0E58}" (أو شيء من هذا القبيل).

يجب أن يكون {d5cdd505-2e9c-101b-9397-08002b2cf9ae}، أو Word لن يتعرف عليه كخاصية مستند مخصصة.

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

للتعامل مع ذلك أقترح عليك وضع

giveacodicetagpre.

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

لا أعتقد أن هذا مذكور في معيار ISO أو حتى في وثيقة معلومات التنفيذ في Microsoft ([MS-OI29500] .PDF - هناك بعض المعلومات. في الأخير، لكنه غير مفيد وممرك للغاية.

بعض هذه المعرفات القياسية مدرجة هنا ولكن لا يمكنني العثور على أي شيء عن واحد يبدأ ب" {3D ". أعتقد أن شخصا ما قام بإنشاء المستند باستخدام Office Open XML مباشرة وقد أدخلت للتو "أي guid القديم".

شخصيا، سأذهب إلى XML وإصلاح GUID. (تحديث - حاولت ذلك، ولكن فشلت في كل مرة. أفضل أن تبدأ بوثيقة جديدة. وإدراج الخاصية عبر مربع حوار خصائص المستندات المخصصة القياسية، وأعتقد).

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