添加删除 powerpoint vba C#

VBA 宏用于自动化 PowerPoint 演示文稿中的不同功能。例如,您可以使用 VBA 执行重复性任务、生成图表和表单等。在本文中,您将学习如何以编程方式使用 PowerPoint VBA 宏。特别是,本文将介绍如何使用 C# 在 PowerPoint 演示文稿中添加、提取或删除 VBA 宏。

用于 PowerPoint VBA 宏的 C# API

Aspose.Slides for .NET 是一个功能丰富的 API,可让您使用 C# 创建、编辑和转换 PowerPoint 演示文稿。此外,API 允许您无缝地使用 VBA 宏。为了使用 API,您可以 下载 其 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.Slides.NET

使用 C# 在 PowerPoint 演示文稿中添加 VBA 宏

以下是使用 C# 在 PowerPoint 演示文稿中添加 VBA 宏的步骤。

以下代码示例演示如何使用 C# 在 PowerPoint 演示文稿中添加 VBA 宏。

// 加载演示文稿
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);
}

使用 C# 从 PowerPoint 中提取 VBA 宏

Aspose.Slides for .NET 还允许您从 PowerPoint 演示文稿中的 VBA 项目中提取 VBA 模块。以下是执行此操作的步骤。

以下代码示例演示如何使用 C# 提取 PowerPoint VBA 宏。

// 加载演示文稿
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 宏

您还可以从 PowerPoint 演示文稿中删除特定的 VBA 宏。为此,您将通过 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,而不受评估限制。

结论

在本文中,您学习了如何使用 C# 处理 PowerPoint VBA 宏。特别是,您已经了解了如何在 PowerPoint 演示文稿中添加、提取和删除 VBA 宏。为了探索 API 的其他特性,您可以查阅 文档。此外,您可以随时通过我们的 论坛 告诉我们您的疑问。

也可以看看

提示:您可能需要查看 Aspose 免费宏删除网络应用程序