แมโคร VBA ใช้เพื่อทำให้ฟังก์ชันการทำงานต่างๆ ในงานนำเสนอ PowerPoint เป็นไปโดยอัตโนมัติ ตัวอย่างเช่น คุณสามารถใช้ VBA เพื่อทำงานซ้ำๆ สร้างแผนภูมิและฟอร์ม เป็นต้น ในบทความนี้ คุณจะได้เรียนรู้วิธีการทำงานกับแมโคร PowerPoint VBA โดยทางโปรแกรม โดยเฉพาะอย่างยิ่ง บทความจะกล่าวถึงวิธีการเพิ่ม แยก หรือลบแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ C#
- C# API สำหรับแมโคร PowerPoint VBA
- เพิ่ม VBA Macros ในงานนำเสนอ PowerPoint โดยใช้ C#
- แยกมาโคร VBA จากงานนำเสนอ PowerPoint
- ลบแมโคร VBA ออกจากงานนำเสนอ PowerPoint
- รับใบอนุญาต API ฟรี
C# API สำหรับแมโคร PowerPoint VBA
Aspose.Slides for .NET เป็น API ที่มีคุณลักษณะหลากหลายซึ่งช่วยให้คุณสร้าง แก้ไข และแปลงงานนำเสนอ PowerPoint โดยใช้ C# นอกจากนี้ API ยังช่วยให้คุณทำงานกับมาโคร VBA ได้อย่างราบรื่น หากต้องการใช้ API คุณสามารถ ดาวน์โหลด DLL หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.Slides.NET
เพิ่ม VBA Macro ในงานนำเสนอ PowerPoint โดยใช้ C#
ต่อไปนี้เป็นขั้นตอนในการเพิ่มแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ C#
- ขั้นแรก สร้างอินสแตนซ์ของคลาส Presentation เพื่อโหลดงานนำเสนอ PowerPoint
- กำหนด VbaProject ใหม่ให้กับคุณสมบัติ Presentation.VbaProject
- เพิ่มโมดูล VBA เปล่าโดยใช้เมธอด Presentation.VbaProject.Modules.AddEmptyModule(string)
- รับข้อมูลอ้างอิงของโมดูลที่เพิ่มเข้าไปในวัตถุ IVbaModule
- เพิ่มซอร์สโค้ดให้กับโมดูล VBA โดยใช้คุณสมบัติ IVbaModule.SourceCode
- สร้างการอ้างอิงถึง Microsoft Office และเพิ่มไปยังคอลเลกชัน Presentation.VbaProject.References
- สุดท้าย บันทึกไฟล์งานนำเสนอโดยใช้เมธอด Presentation.Save(string, SaveFormat.Pptm)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ C#
// โหลดงานนำเสนอ
using (Presentation presentation = new Presentation("presentation.pptm"))
{
// สร้างโครงการ VBA ใหม่
presentation.VbaProject = new VbaProject();
// เพิ่มโมดูลว่างในโครงการ VBA
IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
// ตั้งซอร์สโค้ดของโมดูล
module.SourceCode = @"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
presentation.VbaProject.References.Add(stdoleReference);
presentation.VbaProject.References.Add(officeReference);
// บันทึกงานนำเสนอ
presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}
แยกมาโคร VBA จาก PowerPoint โดยใช้ C
Aspose.Slides for .NET ยังช่วยให้คุณสามารถแยกโมดูล VBA จากโครงการ VBA ในงานนำเสนอ PowerPoint ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้
- ขั้นแรก โหลดงานนำเสนอ PowerPoint ที่เปิดใช้งานมาโครโดยใช้คลาส Presentation
- ตรวจสอบว่าคุณสมบัติ Presentation.VbaProject ไม่เป็นโมฆะ
- วนซ้ำแต่ละ IVbaModule ในคอลเลกชัน Presentation.VbaProject.Modules
- สุดท้าย แยกซอร์สโค้ดโดยใช้คุณสมบัติ IVbaModule.SourceCode
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกแมโคร PowerPoint VBA โดยใช้ C#
// โหลดงานนำเสนอ
using (Presentation pres = new Presentation("presentation.pptm"))
{
if (pres.VbaProject != null) // check if Presentation contains VBA Project
{
foreach (IVbaModule module in pres.VbaProject.Modules)
{
Console.WriteLine(module.Name);
Console.WriteLine(module.SourceCode);
}
}
}
ลบแมโคร PowerPoint VBA
คุณยังสามารถลบแมโคร VBA เฉพาะออกจากงานนำเสนอ PowerPoint สำหรับสิ่งนี้ คุณจะเข้าถึงและลบโมดูล VBA ตามดัชนีจากโครงการ VBA ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้
- ขั้นแรก โหลดงานนำเสนอ PowerPoint ที่เปิดใช้งานมาโครโดยใช้คลาส Presentation
- ลบโมดูล VBA ด้วยดัชนีโดยใช้เมธอด Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0])
- สุดท้าย บันทึกงานนำเสนอที่อัปเดตโดยใช้เมธอด Presentation.Save(string, SaveFormat.Pptm)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเอาแมโคร PowerPoint VBA ออก
// โหลดงานนำเสนอ
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
// ลบโมดูล VBA
presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);
// บันทึกงานนำเสนอ
presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}
รับใบอนุญาต API ฟรี
คุณสามารถลอง Aspose.Slides for .NET ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราว
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการทำงานกับแมโคร PowerPoint VBA โดยใช้ C# โดยเฉพาะอย่างยิ่ง คุณได้เห็นวิธีการเพิ่ม แยก และลบแมโคร VBA ในงานนำเสนอ PowerPoint หากต้องการสำรวจคุณสมบัติอื่นๆ ของ API คุณสามารถดู เอกสารประกอบ นอกจากนี้ คุณสามารถแจ้งให้เราทราบเกี่ยวกับข้อสงสัยของคุณผ่านทาง ฟอรัม ของเรา
ดูสิ่งนี้ด้วย
เคล็ดลับ: คุณอาจต้องการดู Aspose แอปเว็บลบมาโครฟรี