Problem med förhandsgranskning av objekt när OleObjectFrame läggs till
Introduktion
När du använder Aspose.Slides för C++ och lägger till OleObjectFrame till en bild visas ett “EMBEDDED OLE OBJECT”-meddelande på utskriftsbilden. Detta meddelande är avsiktligt och INTE ett fel.
För mer information om hur du arbetar med OLE-objekt, se Hantera OLE.
Förklaring och lösning
Aspose.Slides visar meddelandet “EMBEDDED OLE OBJECT” för att meddela dig att OLE-objektet har ändrats och förhandsgranskningsbilden måste uppdateras.
Till exempel, om du lägger till ett Microsoft Excel-diagram som ett OleObjectFrame till en bild (för mer detaljer, se artikeln “Manage OLE”) och sedan öppnar presentationen i Microsoft PowerPoint, kommer du att se den här bilden på bilden:

Om du vill kontrollera och bekräfta att ditt OLE-objekt har lagts till på bilden, måste du dubbelklicka på meddelandet “EMBEDDED OLE OBJECT”, eller så kan du högerklicka på det och gå via alternativet Object > Edit.

PowerPoint öppnar sedan det inbäddade OLE-objektet.

Bilden kan behålla meddelandet “EMBEDDED OLE OBJECT”. När du klickar på OLE-objektet uppdateras förhandsgranskningen av bilden och meddelandet “EMBEDDED OLE OBJECT” ersätts av den faktiska bilden för OLE-objektet.

Nu kanske du vill spara presentationen för att säkerställa att bilden för OLE-objektet uppdateras korrekt. På så sätt, efter att du sparat presentationen, kommer du INTE att se meddelandet “EMBEDDED OLE OBJECT” när du öppnar presentationen igen.
Andra lösningar
Lösning 1: Ersätt meddelandet “EMBEDDED OLE OBJECT” med en bild
Om du inte vill ta bort meddelandet “EMBEDDED OLE OBJECT” genom att öppna presentationen i PowerPoint och sedan spara den, kan du ersätta meddelandet med din föredragna förhandsgranskningsbild. Dessa kodrader demonstrerar processen:
auto presentation = MakeObject<Presentation>(u"embeddedOLE.pptx");
auto slide = presentation->get_Slide(0);
auto oleFrame = ExplicitCast<IOleObjectFrame>(slide->get_Shape(0));
// Add an image to presentation resources.
auto imageStream = File::OpenRead(u"myImage.png");
auto oleImage = presentation->get_Images()->AddImage(imageStream);
imageStream->Dispose();
// Set a title and the image for the OLE object preview.
oleFrame->set_SubstitutePictureTitle(u"My title");
oleFrame->get_SubstitutePictureFormat()->get_Picture()->set_Image(oleImage);
oleFrame->set_IsObjectIcon(false);
presentation->Save(u"embeddedOLE-newImage.pptx", SaveFormat::Pptx);
presentation->Dispose();
Bilden som innehåller OleObjectFrame ändras sedan till detta:

Lösning 2: Skapa ett tillägg för PowerPoint
Du kan också skapa ett tillägg för Microsoft PowerPoint som uppdaterar alla OLE-objekt när du öppnar presentationer i programmet.