เพิ่มลบ powerpoint vba C#

แมโคร VBA ใช้เพื่อทำให้ฟังก์ชันการทำงานต่างๆ ในงานนำเสนอ PowerPoint เป็นไปโดยอัตโนมัติ ตัวอย่างเช่น คุณสามารถใช้ VBA เพื่อทำงานซ้ำๆ สร้างแผนภูมิและฟอร์ม เป็นต้น ในบทความนี้ คุณจะได้เรียนรู้วิธีการทำงานกับแมโคร PowerPoint VBA โดยทางโปรแกรม โดยเฉพาะอย่างยิ่ง บทความจะกล่าวถึงวิธีการเพิ่ม แยก หรือลบแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ C#

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 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 แอปเว็บลบมาโครฟรี