Actualizar objetos OLE automáticamente usando un complemento de PowerPoint
Actualizar objetos OLE automáticamente
Una de las preguntas más frecuentes de los clientes de Aspose.Slides for Java es cómo crear o modificar gráficos editables (u otros objetos OLE) para que se actualicen automáticamente al abrir la presentación. Desafortunadamente, PowerPoint no admite macros automáticas de la misma manera que Excel y Word. Las únicas macros disponibles son Auto_Open y Auto_Close, y solo se ejecutan automáticamente desde un complemento. Este breve consejo técnico muestra cómo lograrlo.
Primero, existen varios complementos gratuitos que añaden la función de macro Auto_Open a PowerPoint, por ejemplo AutoEvents Add-in y Event Generator.
Después de instalar uno de estos complementos, simplemente añada la macro Auto_Open() (o OnPresentationOpen() si está usando Event Generator) a su presentación plantilla como se muestra a continuación:
// Recorrer cada diapositiva en la presentación.
for (var oSlide : ActivePresentation.Slides) {
// Recorrer todas las formas en la diapositiva actual.
for (var oShape : oSlide.Shapes) {
// Verificar si la forma es un objeto OLE.
if ((oShape.Type == msoEmbeddedOLEObject)) {
// Objeto OLE encontrado. Obtener su referencia y luego actualizarlo.
oObject = oShape.OLEFormat.Object;
oObject.Application.Update();
// Ahora, cerrar el programa servidor OLE.
// Esto libera memoria y previene cualquier problema.
// Además, establecer oObject a Nothing para liberar el objeto.
oObject.Application.Quit();
oObject = null;
}
}
}
Cualquier cambio realizado en los objetos OLE con Aspose.Slides for Java se actualizará automáticamente cuando PowerPoint abra la presentación. Si tiene muchos objetos OLE y no desea actualizarlos todos, simplemente añada una etiqueta personalizada a las formas que necesita procesar y verifíquela en la macro.