อัปเดตวัตถุ OLE อัตโนมัติด้วยแอดอิน PowerPoint
บทนำ
หนึ่งในคำถามที่พบบ่อยที่สุดจากลูกค้า Aspose.Slides for Java คือวิธีการสร้างหรือแก้ไขแผนภูมิที่สามารถแก้ไขได้ (หรือวัตถุ OLE อื่น) เพื่อให้มันอัปเดตอัตโนมัติเมื่อเปิดการนำเสนอ อย่างไรก็ตาม PowerPoint ไม่รองรับแมโครอัตโนมัติในลักษณะเดียวกับ Excelและ Word แมโครที่มีอยู่คือ Auto_Open และ Auto_Close และแมโครเหล่านี้จะทำงานอัตโนมัติได้เฉพาะจากแอดอินเท่านั้น เคล็ดลับทางเทคนิคสั้นนี้จะแสดงวิธีทำเช่นนั้น
อัปเดตวัตถุ OLE อัตโนมัติ
ก่อนแรก มีแอดอินฟรีหลายตัวที่เพิ่มฟีเจอร์แมโคร Auto_Open ให้กับ PowerPoint ตัวอย่างเช่น AutoEvents Add-in และ Event Generator.
หลังจากติดตั้งหนึ่งในแอดอินเหล่านี้ ให้เพิ่มแมโคร Auto_Open() (หรือ OnPresentationOpen() หากคุณใช้ Event Generator) ไปยังเทมเพลตการนำเสนอของคุณตามที่แสดงด้านล่าง:
// วนลูปผ่านแต่ละสไลด์ในงานนำเสนอ.
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;
}
}
}
การเปลี่ยนแปลงใด ๆ ที่ทำกับวัตถุ OLE ด้วย Aspose.Slides for Java จะถูกอัปเดตโดยอัตโนมัติเมื่อ PowerPoint เปิดการนำเสนอ หากคุณมีวัตถุ OLE จำนวนมากและไม่ต้องการอัปเดตทั้งหมด เพียงเพิ่มแท็กกำหนดเองให้กับรูปร่างที่ต้องการประมวลผลและตรวจสอบในแมโคร.