Αυτόματη Ενημέρωση Αντικειμένων OLE με Χρήση Πρόσθετου PowerPoint
Εισαγωγή
Μία από τις πιο συχνές ερωτήσεις που κάνουν οι πελάτες του Aspose.Slides for Java είναι πώς να δημιουργήσουν ή να τροποποιήσουν επεξεργάσιμα διαγράμματα (ή άλλα αντικείμενα OLE) ώστε να ενημερώνονται αυτόματα όταν ανοίγει η παρουσίαση. Δυστυχώς, το PowerPoint δεν υποστηρίζει αυτόματες μακροεντολές με τον ίδιο τρόπο όπως το Excel και το Word. Οι μοναδικές διαθέσιμες μακροεντολές είναι Auto_Open και Auto_Close, και αυτές εκτελούνται αυτόματα μόνο από πρόσθετο. Αυτή η σύντομη τεχνική συμβουλή δείχνει πώς να το επιτύχετε.
Αυτόματη Ενημέρωση Αντικειμένων OLE
Πρώτα, υπάρχουν αρκετά δωρεάν πρόσθετα που προσθέτουν τη δυνατότητα μακροεντολής Auto_Open στο PowerPoint, για παράδειγμα AutoEvents Add-in και Event Generator.
Αφού εγκαταστήσετε ένα από αυτά τα πρόσθετα, απλώς προσθέστε τη μακροεντολή Auto_Open() (ή OnPresentationOpen() εάν χρησιμοποιείτε το Event Generator) στην προτυπική παρουσίασή σας όπως φαίνεται παρακάτω:
// Επανάληψη σε κάθε διαφάνεια της παρουσίασης.
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;
}
}
}
Οποιεσδήποτε αλλαγές γίνουν στα αντικείμενα OLE με το Aspose.Slides for Java θα ενημερώνονται αυτόματα όταν το PowerPoint ανοίξει την παρουσίαση. Εάν έχετε πολλά αντικείμενα OLE και δεν θέλετε να ενημερώσετε όλα, προσθέστε απλώς μια προσαρμοσμένη ετικέτα στα σχήματα που χρειάζεται να επεξεργαστείτε και ελέγξτε την στη μακροεντολή.