彩票走势图

PPT处理控件Aspose.Slides功能演示:使用C#在PowerPoint中添加,提取和删除VBA宏

翻译|使用教程|编辑:李显亮|2021-04-02 09:20:29.150|阅读 262 次

概述:VBA宏用于自动执行PowerPoint演示文稿中的不同功能。在本文中,将学习如何以编程方式使用PowerPoint VBA宏。特别是,本文将介绍如何使用C#在PowerPoint演示文稿中添加,提取或删除VBA宏。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

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

  • 使用C#在PowerPoint演示文稿中添加VBA宏
  • 从PowerPoint演示文稿中提取VBA宏
  • 从PowerPoint演示文稿中删除VBA宏

Aspose.Slides for .NET是功能丰富的API,可让您使用C#创建,编辑和转换PowerPoint演示文稿。此外,该API允许您无缝使用VBA宏。

>>你可以点击这里下载Aspose.Slides 最新版测试体验。

整合所有格式API处理控件Aspose.Total永久授权火热促销中,立马1分钟了解全部!

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

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

  • 首先,创建Presentation 类的实例 以加载PowerPoint演示文稿。
  • 将一个新的VbaProject分配给 Presentation.VbaProject 属性。
  • 使用Presentation.VbaProject.Modules.AddEmptyModule(string)方法添加一个空的VBA模块。
  • 将添加的模块的引用获取到IVbaModule对象中。
  • 使用IVbaModule.SourceCode属性将源代码添加到VBA模块。
  • 创建对Microsoft Office的引用,并将其添加到Presentation.VbaProject.References集合。
  • 最后,使用Presentation.Save(string,SaveFormat.Pptm)方法保存演示文稿文件。

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

// Load presentation
using (Presentation presentation = new Presentation("presentation.pptm"))
{
    // Create new VBA Project
    presentation.VbaProject = new VbaProject();

    // Add empty module to the VBA project
    IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
  
    // Set module's source code
    module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";

    // Create reference toVbaReferenceOleTypeLib stdoleReference =
        new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");

    // Create reference to 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");

    // Add references to the VBA project
    presentation.VbaProject.References.Add(stdoleReference);
    presentation.VbaProject.References.Add(officeReference);
    
    // Save Presentation
    presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}

使用C#从PowerPoint中提取VBA宏

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

  • 首先,使用Presentation 类加载启用宏的PowerPoint演示 文稿。
  • 检查 Presentation.VbaProject 属性是否不为null。
  • 循环每IVbaModule在Presentation.VbaProject.Modules集合。
  • 最后,使用IVbaModule.SourceCode属性提取源代码。

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

// Load presentation
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模块。以下是执行此操作的步骤。

  • 首先,使用Presentation 类加载启用宏的PowerPoint演示 文稿。
  • 使用Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules [0])方法通过索引删除VBA模块。
  • 最后,使用Presentation.Save(string,SaveFormat.Pptm)方法保存更新的演示文稿。

下面的代码示例演示如何删除PowerPoint VBA宏。

// Load presentation
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
    // Remove the VBA module
    presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);

    // Save presentation
    presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}

如果你想试用Aspose的全部完整功能,可 联系在线客服获取30天临时授权体验。


还想要更多吗?您可以点击阅读【2020 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP