ماکروهای VBA برای خودکارسازی عملکردهای مختلف در ارائه های پاورپوینت استفاده می شوند. به عنوان مثال می توانید از VBA برای انجام کارهای تکراری، تولید نمودارها و فرم ها و … استفاده کنید، در این مقاله نحوه کار با ماکروهای PowerPoint VBA به صورت برنامه نویسی را یاد خواهید گرفت. به ویژه، این مقاله نحوه افزودن، استخراج یا حذف ماکروهای VBA در ارائه های پاورپوینت با استفاده از C# را پوشش می دهد.
- C# API برای ماکروهای PowerPoint VBA
- اضافه کردن ماکروهای VBA در ارائه های پاورپوینت با استفاده از C#
- ماکروهای VBA را از ارائه های پاورپوینت استخراج کنید
- ماکروهای VBA را از ارائه های پاورپوینت حذف کنید
- مجوز API رایگان دریافت کنید
C# API برای ماکروهای PowerPoint VBA
Aspose.Slides for .NET یک API غنی از ویژگی است که به شما امکان می دهد ارائه های پاورپوینت را با استفاده از C# ایجاد، ویرایش و تبدیل کنید. علاوه بر این، API به شما اجازه می دهد تا با ماکروهای VBA به طور یکپارچه کار کنید. برای استفاده از API، میتوانید DLL آن را دانلود یا با استفاده از NuGet نصب کنید.
PM> Install-Package Aspose.Slides.NET
اضافه کردن VBA Macro در ارائه پاورپوینت با استفاده از C#
در زیر مراحل اضافه کردن یک ماکرو VBA در ارائه پاورپوینت با استفاده از سی شارپ آمده است.
- ابتدا یک نمونه از کلاس Presentation برای بارگیری ارائه پاورپوینت ایجاد کنید.
- یک VbaProject جدید به ویژگی Presentation.VbaProject اختصاص دهید.
- یک ماژول VBA خالی با استفاده از روش Presentation.VbaProject.Modules.AddEmptyModule(string) اضافه کنید.
- مرجع ماژول اضافه شده را در یک شی IVbaModule دریافت کنید.
- کد منبع را با استفاده از ویژگی IVbaModule.SourceCode به ماژول VBA اضافه کنید.
- ارجاعاتی به Microsoft Office ایجاد کنید و آنها را به مجموعه Presentation.VbaProject.References اضافه کنید.
- در نهایت، فایل ارائه را با استفاده از روش Presentation.Save(string, SaveFormat.Pptm) ذخیره کنید.
نمونه کد زیر نحوه افزودن ماکرو VBA در ارائه پاورپوینت با استفاده از 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 از پاورپوینت با استفاده از سی شارپ
Aspose.Slides for .NET همچنین به شما امکان می دهد ماژول های VBA را از پروژه های VBA در ارائه های پاورپوینت استخراج کنید. مراحل زیر برای انجام این عملیات آورده شده است.
- ابتدا، با استفاده از کلاس 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 خاص را از یک ارائه پاورپوینت حذف کنید. برای این کار، ماژول VBA را با نمایه آن از پروژه VBA دسترسی خواهید داشت و حذف خواهید کرد. مراحل زیر برای انجام این عملیات آورده شده است.
- ابتدا با استفاده از کلاس Presentation ارائه پاورپوینت با قابلیت ماکرو را بارگیری کنید.
- با استفاده از روش Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]) ماژول VBA را با نمایه حذف کنید.
- در نهایت، ارائه به روز شده را با استفاده از روش 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 را برای دات نت بدون محدودیت ارزیابی با درخواست [مجوز موقت] امتحان کنید.
نتیجه
در این مقاله نحوه کار با ماکروهای PowerPoint VBA با استفاده از سی شارپ را یاد گرفتید. به ویژه، نحوه افزودن، استخراج و حذف ماکروهای VBA را در ارائه های پاورپوینت مشاهده کرده اید. به منظور کاوش سایر ویژگیهای API، میتوانید به [اسناد22 مراجعه کنید. علاوه بر این، می توانید از طریق [فروم 23 ما در مورد سوالات خود به ما اطلاع دهید.
همچنین ببینید
نکته: ممکن است بخواهید Aspose [برنامه وب حذف رایگان ماکرو1 را بررسی کنید.