Automatisches Aktualisieren von OLE-Objekten mit dem MS PowerPoint Add-In

Über das automatische Aktualisieren von OLE-Objekten

Eine der häufigsten Fragen, die von den Kunden von Aspose.Slides gestellt wird, ist, wie man bearbeitbare Diagramme oder andere OLE-Objekte erstellen oder ändern kann, sodass sie beim Öffnen der Präsentation automatisch aktualisiert werden. Leider unterstützt PowerPoint keine automatischen Makros, die in Excel und Word verfügbar sind. Die einzigen verfügbaren sind die Auto_Open- und Auto_Close-Makros. Diese laufen jedoch nur automatisch aus einem Add-In. Dieser kurze technische Tipp zeigt, wie man das erreicht.

Zunächst stehen mehrere Freeware-Add-Ins zur Verfügung, die die Auto_Open-Makrofunktion zu PowerPoint hinzufügen, zum Beispiel AutoEvents Add-in und Event Generator.

Nachdem Sie ein solches Add-In installiert haben, fügen Sie einfach das Auto_Open() Makro (OnPresentationOpen() im Fall von “Event Generator”) zu Ihrer Vorlage-Präsentation hinzu, wie unten gezeigt:

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;
}
}
}