PowerPoint ऐड‑इन का उपयोग करके OLE ऑब्जेक्ट्स को स्वचालित रूप से अपडेट करें

परिचय

आस्पोज़.स्लाइड्स फॉर जावा के ग्राहकों द्वारा पूछे जाने वाले सबसे सामान्य प्रश्नों में से एक यह है कि संपादन योग्य चार्ट (या अन्य OLE ऑब्जेक्ट) कैसे बनाएं या संशोधित करें ताकि प्रस्तुति खोलते ही वे स्वचालित रूप से अपडेट हो जाएँ। दुर्भाग्यवश, पावरपॉइंट एक्सेल और वर्ड की तरह स्वचालित मैक्रो का समर्थन नहीं करता। उपलब्ध मैक्रो केवल Auto_Open और Auto_Close हैं, और ये केवल ऐड‑इन से ही स्वचालित रूप से चलते हैं। यह छोटा तकनीकी टिप दर्शाता है कि इसे कैसे प्राप्त किया जाए।

OLE ऑब्जेक्ट्स को स्वचालित रूप से अपडेट करें

पहले, कई फ़्रीवेयर ऐड‑इन उपलब्ध हैं जो PowerPoint में Auto_Open मैक्रो सुविधा जोड़ते हैं, उदाहरण के लिए AutoEvents Add-in और Event Generator।

इनमें से किसी एक ऐड‑इन को स्थापित करने के बाद, बस नीचे दिखाए अनुसार अपने टेम्पलेट प्रस्तुति में Auto_Open() मैक्रो (या यदि आप Event Generator का उपयोग कर रहे हैं तो OnPresentationOpen()) जोड़ें:

// प्रस्तुति में प्रत्येक स्लाइड के माध्यम से लूप करे।
for (var oSlide : ActivePresentation.Slides) {
    // वर्तमान स्लाइड पर सभी आकारों के माध्यम से लूप करे।
    for (var oShape : oSlide.Shapes) {
        // जांचें कि आकार OLE ऑब्जेक्ट है या नहीं।
        if ((oShape.Type == msoEmbeddedOLEObject)) {
            // एक OLE ऑब्जेक्ट मिला। उसका ऑब्जेक्ट रेफ़रेंस प्राप्त करें और फिर अपडेट करें।
            oObject = oShape.OLEFormat.Object;
            oObject.Application.Update();
            // अब OLE सर्वर प्रोग्राम से बाहर निकलें।
            // यह मेमोरी मुक्त करता है और किसी भी समस्या से बचाता है।
            // साथ ही, oObject को Nothing सेट करें ताकि ऑब्जेक्ट रिलीज हो सके।
            oObject.Application.Quit();
            oObject = null;
        }
    }
}

Aspose.Slides for Java के साथ OLE ऑब्जेक्ट्स में किए गए किसी भी परिवर्तन को PowerPoint द्वारा प्रस्तुति खोलते ही स्वचालित रूप से अपडेट किया जाएगा। यदि आपके पास कई OLE ऑब्जेक्ट्स हैं और आप सभी को अपडेट नहीं करना चाहते, तो बस उन शैलियों को एक कस्टम टैग जोड़ें जिन्हें आप प्रोसेस करना चाहते हैं और मैक्रो में उसकी जांच करें।