تحديث كائنات OLE تلقائيًا باستخدام إضافة MS PowerPoint

حول تحديث كائنات OLE تلقائيًا

أحد الأسئلة الأكثر تكرارًا التي يطرحها عملاء Aspose.Slides هو كيفية إنشاء أو تغيير الرسوم البيانية القابلة للتحرير أو أي كائنات OLE أخرى وجعلها تتحدث تلقائيًا عند فتح العرض التقديمي. للأسف، PowerPoint لا يدعم أي وحدات ماكرو تلقائية، والتي تتوفر في Excel وWord. الوحيدة المتاحة هي وحدات الماكرو Auto_Open وAuto_Close. ومع ذلك، فإنها تعمل تلقائيًا فقط من إضافة. توضح هذه النصيحة الفنية القصيرة كيفية تحقيق ذلك.

أولاً، هناك العديد من الإضافات المجانية التي تضيف ميزة وحدة الماكرو Auto_Open إلى PowerPoint مثل إضافة AutoEvents و مولد الأحداث.

بعد تثبيت مثل هذه الإضافة، فقط أضف وحدة الماكرو Auto_Open() (OnPresentationOpen() في حالة “مولد الأحداث”) إلى العرض التقديمي الخاص بك كما هو موضح أدناه:

Shape oShape;
Slide oSlide;
// Loop through each slide in the presentation.
for (var oSlide : ActivePresentation.Slides) {
// Loop through all the shapes on the current slide.
for (var oShape : oSlide.Shapes) {
// Check whether the shape is an OLE object.
if ((oShape.Type == msoEmbeddedOLEObject)) {
// Found an OLE object; obtain object reference, and then update.
oObject = oShape.OLEFormat.Object;
oObject.Application.Update();
// Now, quit out of the OLE server program. This frees
// memory, and prevents any problems. Also, set oObject equal
// to Nothing to release the object.
oObject.Application.Quit();
oObject = null;
}
}
}