Mise à jour automatique des objets OLE à l'aide du module complémentaire MS PowerPoint

À propos de la mise à jour automatique des objets OLE

L’une des questions les plus fréquemment posées par les clients d’Aspose.Slides est de savoir comment créer ou modifier des graphiques modifiables 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, qui sont disponibles dans Excel et Word. Celles qui sont disponibles sont uniquement les macros Auto_Open et Auto_Close. Cependant, celles-ci ne s’exécutent automatiquement que depuis un module complémentaire. Ce court conseil technique montre comment y parvenir.

Tout d’abord, plusieurs modules complémentaires 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 module complémentaire, ajoutez simplement 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;
}
}
}