加入 OleObjectFrame 時的物件預覽問題
Contents
[
Hide
]
簡介
使用 Aspose.Slides for Java 時,將 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」訊息,您可以將該訊息替換為您偏好的預覽圖像。以下程式碼示範此過程:
const presentation = new aspose.slides.Presentation("embeddedOLE.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const oleFrame = slide.getShapes().get_Item(0);
// 新增影像至簡報資源。
const image = aspose.slides.Images.fromFile("myImage.png");
const oleImage = presentation.getImages().addImage(image);
// 設定 OLE 物件預覽的標題與影像。
oleFrame.setSubstitutePictureTitle("My title");
oleFrame.getSubstitutePictureFormat().getPicture().setImage(oleImage);
oleFrame.setObjectIcon(false);
presentation.save("embeddedOLE-newImage.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
包含 OleObjectFrame 的投影片將變為以下樣式:

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