แมโคร VBA ใช้เพื่อทำงานซ้ำๆ สร้างแผนภูมิและฟอร์ม ฯลฯ ในงานนำเสนอ PowerPoint ในขณะที่ทำงานกับงานนำเสนอโดยทางโปรแกรม คุณอาจต้องจัดการแมโคร VBA ตามนั้น ในบทความนี้ คุณจะได้เรียนรู้วิธีเพิ่ม แยก หรือลบแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ Java
- Java API สำหรับแมโคร PowerPoint VBA
- เพิ่มมาโคร VBA ในงานนำเสนอ PowerPoint
- แยกมาโคร VBA จากงานนำเสนอ PowerPoint
- ลบแมโคร VBA ออกจากงานนำเสนอ PowerPoint
Java API สำหรับแมโคร PowerPoint VBA
ในการทำงานกับแมโคร VBA ในงานนำเสนอ เราจะใช้ Aspose.Slides for Java เป็น API ที่มีคุณลักษณะหลากหลายซึ่งช่วยให้คุณสร้างหรือจัดการงานนำเสนอ PowerPoint จากภายในแอปพลิเคชัน Java ของคุณ คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
เพิ่ม VBA Macro ในงานนำเสนอ PowerPoint โดยใช้ Java
ต่อไปนี้เป็นขั้นตอนในการเพิ่มแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ Java
- ขั้นแรก สร้างอินสแตนซ์ของคลาส Presentation เพื่อโหลดงานนำเสนอ PowerPoint
- กำหนด VbaProject ใหม่โดยใช้เมธอด Presentation.setVbaProject()
- เพิ่มโมดูล VBA เปล่าโดยใช้เมธอด Presentation.getVbaProject().getModules().addEmptyModule(String)
- รับข้อมูลอ้างอิงของโมดูลที่เพิ่มเข้าไปในวัตถุ IVbaModule
- เพิ่มซอร์สโค้ดให้กับโมดูล VBA โดยใช้วิธี IVbaModule.setSourceCode()
- สร้างการอ้างอิงถึง Microsoft Office และเพิ่มไปยังคอลเลกชัน Presentation.getVbaProject().getReferences()
- สุดท้าย บันทึกไฟล์งานนำเสนอโดยใช้เมธอด Presentation.save(String, SaveFormat.Pptm)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ Java
// ยกตัวอย่างการนำเสนอ
Presentation pres = new Presentation();
try {
// สร้างโครงการ VBA ใหม่
pres.setVbaProject(new VbaProject());
// เพิ่มโมดูลว่างในโครงการ VBA
IVbaModule module = pres.getVbaProject().getModules().addEmptyModule("Module");
// ตั้งค่าซอร์สโค้ดของโมดูล
module.setSourceCode("Sub Test(oShape As Shape)MsgBox Test End Sub");
// สร้างการอ้างอิงถึง<stdole>
VbaReferenceOleTypeLib stdoleReference = new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// สร้างการอ้างอิงถึง Office
VbaReferenceOleTypeLib officeReference = new VbaReferenceOleTypeLib("Office",
"*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library");
// เพิ่มการอ้างอิงไปยังโครงการ VBA
pres.getVbaProject().getReferences().add(stdoleReference);
pres.getVbaProject().getReferences().add(officeReference);
pres.save("test.pptm", SaveFormat.Pptm);
} finally {
if (pres != null) pres.dispose();
}
แยกมาโคร VBA จาก PowerPoint โดยใช้ Java
ต่อไปนี้เป็นขั้นตอนในการแยกแมโคร VBA จากงานนำเสนอ PowerPoint โดยใช้ Java
- ขั้นแรก โหลดงานนำเสนอ PowerPoint ที่เปิดใช้งานมาโครโดยใช้คลาส Presentation
- จากนั้นตรวจสอบว่า Presentation.getVbaProject() คืนค่า null หรือไม่
- วนซ้ำแต่ละ IVbaModule ในคอลเลกชั่นโดยใช้ Presentation.getVbaProject().getModules()
- สุดท้าย แยกซอร์สโค้ดโดยใช้เมธอด IVbaModule.getSourceCode()
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแยกแมโคร PowerPoint VBA
// โหลดงานนำเสนอ
Presentation pres = new Presentation("VBA.pptm");
try {
if (pres.getVbaProject() != null) // check if Presentation contains VBA Project
{
// วนซ้ำโมดูล VBA
for (IVbaModule module : pres.getVbaProject().getModules())
{
System.out.println(module.getName());
System.out.println(module.getSourceCode());
}
}
} finally {
if (pres != null) pres.dispose();
}
ลบแมโคร PowerPoint VBA
คุณยังสามารถลบแมโคร VBA เฉพาะออกจาก PowerPoint โดยใช้ดัชนีในโครงการ VBA ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้
- ขั้นแรก โหลดงานนำเสนอ PowerPoint ที่เปิดใช้งานมาโครโดยใช้คลาส Presentation
- จากนั้น ลบโมดูล VBA ด้วยดัชนีโดยใช้เมธอด Presentation.getVbaProject().getModules().remove(IVbaModule)
- สุดท้าย บันทึกงานนำเสนอที่อัปเดตโดยใช้เมธอด Presentation.save(String, SaveFormat.Pptm)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเอาแมโคร PowerPoint VBA ออก
// โหลดงานนำเสนอ
Presentation pres = new Presentation("VBA.pptm");
try {
// เข้าถึงโมดูล Vba และลบ
pres.getVbaProject().getModules().remove(pres.getVbaProject().getModules().get_Item(0));
// บันทึกงานนำเสนอ
pres.save("test.pptm", SaveFormat.Pptm);
} finally {
if (pres != null) pres.dispose();
}
รับใบอนุญาต API ฟรี
คุณสามารถใช้ Aspose.Slides for Java ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราว
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการทำงานกับแมโคร PowerPoint VBA โดยใช้ Java โดยเฉพาะอย่างยิ่ง คุณได้เห็นวิธีการเพิ่ม แยก และลบแมโคร VBA ในงานนำเสนอ PowerPoint หากต้องการสำรวจคุณสมบัติอื่นๆ ของ API คุณสามารถดู เอกสารประกอบ นอกจากนี้ คุณสามารถแจ้งให้เราทราบเกี่ยวกับข้อสงสัยของคุณผ่านทาง ฟอรัม ของเรา
ดูสิ่งนี้ด้วย
เคล็ดลับ: คุณอาจต้องการลองใช้ Aspose เครื่องมือลบมาโคร VBA ออนไลน์