Mise à jour automatique des objets OLE à l'aide d'un complément MS PowerPoint

À propos de la mise à jour automatique des objets OLE

L’une des questions les plus fréquentes posées par les clients d’Aspose.Slides est comment créer ou modifier des graphiques éditables ou tout autre objet OLE et les faire mettre à jour automatiquement lors de l’ouverture de la présentation. Malheureusement, PowerPoint ne prend pas en charge les macros automatiques, disponibles dans Excel et Word. Les seules disponibles sont les macros Auto_Open et Auto_Close. Cependant, celles-ci ne s’exécutent automatiquement que depuis un complément. Ce court conseil technique montre comment y parvenir.

Tout d’abord, plusieurs compléments gratuits sont disponibles pour ajouter la fonctionnalité de macro Auto_Open à PowerPoint, par exemple AutoEvents Add-in et Event Generator.

Après avoir installé un tel complément, il suffit d’ajouter la macro Auto_Open() (OnPresentationOpen() dans le cas de “Event Generator”) à votre présentation modèle comme indiqué ci-dessous :

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