Problem mit Objektvorschau beim Hinzufügen von OleObjectFrame
Einführung
Wenn Sie Aspose.Slides für .NET verwenden und ein OleObjectFrame zu einer Folie hinzufügen, wird auf der Ausgabefolie die Meldung “EMBEDDED OLE OBJECT” angezeigt. Diese Meldung ist beabsichtigt und NICHT ein Fehler.
Weitere Informationen zur Arbeit mit OLE‑Objekten finden Sie unter Manage OLE.
Erklärung und Lösung
Aspose.Slides zeigt die Meldung “EMBEDDED OLE OBJECT” an, um Sie darauf hinzuweisen, dass das OLE‑Objekt geändert wurde und das Vorschaubild aktualisiert werden muss.
Beispielsweise, wenn Sie ein Microsoft‑Excel‑Diagramm als OleObjectFrame zu einer Folie hinzufügen (weitere Details finden Sie im Artikel „Manage OLE“) und die Präsentation anschließend in Microsoft PowerPoint öffnen, sehen Sie dieses Bild auf der Folie:

Um zu überprüfen und zu bestätigen, dass Ihr OLE‑Objekt zur Folie hinzugefügt wurde, müssen Sie doppelt auf die Meldung “EMBEDDED OLE OBJECT” klicken oder Sie können mit der rechten Maustaste darauf klicken und die Option Objekt > Bearbeiten wählen.

PowerPoint öffnet dann das eingebettete OLE‑Objekt.

Die Folie kann die Meldung “EMBEDDED OLE OBJECT” beibehalten. Sobald Sie auf das OLE‑Objekt klicken, wird die Folienvorschau aktualisiert und die Meldung “EMBEDDED OLE OBJECT” durch das eigentliche Bild des OLE‑Objekts ersetzt.

Jetzt möchten Sie eventuell Ihre Präsentation speichern, um sicherzustellen, dass das Bild des OLE‑Objekts korrekt aktualisiert wird. Auf diese Weise sehen Sie nach dem Speichern der Präsentation beim erneuten Öffnen die Meldung “EMBEDDED OLE OBJECT” NICHT mehr.
Weitere Lösungen
Lösung 1: Ersetzen der “Embedded OLE Object”-Nachricht durch ein Bild
Wenn Sie die Meldung “EMBEDDED OLE OBJECT” nicht durch Öffnen der Präsentation in PowerPoint und anschließendem Speichern entfernen möchten, können Sie die Meldung durch Ihr bevorzugtes Vorschaubild ersetzen. Diese Codezeilen zeigen den Vorgang:
using var presentation = new Presentation("embeddedOLE.pptx");
var slide = presentation.Slides[0];
var oleFrame = (IOleObjectFrame)slide.Shapes[0];
// Add an image to presentation resources.
using var imageStream = File.OpenRead("myImage.png");
var oleImage = presentation.Images.AddImage(imageStream);
// Set a title and the image for the OLE object preview.
oleFrame.SubstitutePictureTitle = "My title";
oleFrame.SubstitutePictureFormat.Picture.Image = oleImage;
oleFrame.IsObjectIcon = false;
presentation.Save("embeddedOLE-newImage.pptx", SaveFormat.Pptx);
Die Folie, die das OleObjectFrame enthält, wird dann wie folgt geändert:

Lösung 2: Add‑On für PowerPoint erstellen
Sie können außerdem ein Add‑On für Microsoft PowerPoint erstellen, das alle OLE‑Objekte aktualisiert, wenn Sie Präsentationen im Programm öffnen.