新增 OleObjectFrame 時的物件預覽問題
Contents
[
Hide
]
簡介
使用 Aspose.Slides for .NET 時,當您將 OleObjectFrame 新增到投影片上,輸出投影片會顯示「EMBEDDED OLE OBJECT」訊息。此訊息為預期行為,並非錯誤。
如需了解更多 OLE 物件的操作,請參閱 Manage OLE。
說明與解決方案
Aspose.Slides 會顯示「EMBEDDED OLE OBJECT」訊息,以通知您 OLE 物件已變更,必須更新預覽圖像。
例如,若您將 Microsoft Excel 圖表以 OleObjectFrame 的形式加入投影片(詳細說明請參考「Manage OLE」文章),然後在 Microsoft PowerPoint 中開啟簡報,您會在投影片上看到如下圖像:

若要檢查並確認您的 OLE 物件已加入投影片,您需要雙擊「EMBEDDED OLE OBJECT」訊息,或右鍵點擊後選取 Object > Edit 選項。

PowerPoint 隨即開啟嵌入的 OLE 物件。

投影片可能仍保留「EMBEDDED OLE OBJECT」訊息。當您點選 OLE 物件後,投影片預覽會更新,訊息會被 OLE 物件的實際圖像取代。

此時,您可以儲存簡報,以確保 OLE 物件的圖像正確更新。如此一來,儲存並再次開啟簡報時,就不會再看到「EMBEDDED OLE OBJECT」訊息。
其他解決方案
解決方案 1:以圖像取代「Embedded OLE Object」訊息
如果您不想透過在 PowerPoint 開啟簡報後再儲存的方式移除「EMBEDDED OLE OBJECT」訊息,您可以將該訊息替換為您偏好的預覽圖像。以下程式碼示範了此過程:
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);
包含 OleObjectFrame 的投影片將變為以下圖示:

解決方案 2:為 PowerPoint 開發外掛程式
您也可以為 Microsoft PowerPoint 開發外掛程式,於開啟簡報時自動更新所有 OLE 物件。