使用 PowerPoint 外掛自動更新 OLE 物件
Contents
[
Hide
]
簡介
Aspose.Slides for Java 的客戶最常問的問題之一是如何建立或修改可編輯的圖表(或其他 OLE 物件),使其在簡報開啟時自動更新。遺憾的是,PowerPoint 並不像 Excel 與 Word 那樣支援自動巨集。唯一可用的巨集是 Auto_Open 和 Auto_Close,且這些巨集只能透過外掛自動執行。本技術小提示說明如何達成此目的。
自動更新 OLE 物件
首先,有多個免費外掛可為 PowerPoint 加入 Auto_Open 巨集功能,例如 AutoEvents Add-in 與 Event Generator。
安裝其中一個外掛後,只需如下圖所示,在您的範本簡報中加入 Auto_Open() 巨集(若使用 Event Generator,則加入 OnPresentationOpen())。
// 逐一遍歷簡報中的每張投影片。
for (var oSlide : ActivePresentation.Slides) {
// 遍歷目前投影片上的所有圖形。
for (var oShape : oSlide.Shapes) {
// 檢查此圖形是否為 OLE 物件。
if ((oShape.Type == msoEmbeddedOLEObject)) {
// 找到 OLE 物件。取得其物件參考並進行更新。
oObject = oShape.OLEFormat.Object;
oObject.Application.Update();
// 現在,退出 OLE 伺服器程式。
// 這會釋放記憶體,並防止任何問題。
// 同時,將 oObject 設為 Nothing 以釋放物件。
oObject.Application.Quit();
oObject = null;
}
}
}
使用 Aspose.Slides for Java 所做的任何 OLE 物件變更,皆會在 PowerPoint 開啟簡報時自動更新。若您有大量 OLE 物件且不想全部更新,只需在需要處理的圖形上加入自訂標記,並在巨集內檢查該標記即可。