彩票走势图

Excel管理控件Aspose.Cells功能教程——使用C#在Excel文件中添加或修改VBA宏

翻译|使用教程|编辑:李显亮|2020-12-25 09:47:50.560|阅读 317 次

概述:VBA宏用于编写用户定义的函数,这些函数使您可以加快必须手动执行的任务。在本文中,将学习如何以编程方式使用MS Excel文件中的VBA宏。

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

相关链接:

VBA(用于应用程序的Visual Basic)是MS Excel文件中使用的一种编程语言,用于自动执行与电子表格相关的操作。VBA宏用于编写用户定义的函数,这些函数使您可以加快必须手动执行的任务。

在本文中,将学习如何以编程方式使用MS Excel文件中的VBA宏。以及将能够使用C#在Excel工作簿中提取,添加和修改VBA宏。

  • 从Excel工作簿中提取VBA宏
  • 将VBA宏添加到Excel工作簿
  • 在Excel工作簿中修改VBA宏

Aspose.Cells for .NET是一个C#类库,旨在从.NET应用程序内部自动执行电子表格操作。该API提供了广泛的功能,使您能够创建,修改和转换MS Excel工作簿。此外,API使无缝使用VBA宏成为可能。击下方按钮可以下载API的安装包。

点击下载Aspose.Cells for .NET

慧都17一齐周年庆!整合所有格式的Aspose.Total永久授权正在火热促销中,乐享85折起!立马1分钟了解全部咨询!

使用C#从Excel文件中提取VBA宏

首先,从现有的Excel工作簿中提取VBA宏。以下是执行此操作的步骤。

  1. 创建Workbook类的对象以加载Excel文件。
  2. 从Workbook.VbaProject.Modules集合访问VbaModule对象中的每个VBA模块。
  3. 使用VbaModule.Codes属性从每个模块检索代码。

下面的代码示例演示如何使用C#从Excel工作簿中提取VBA宏。

// Create workbook object from source Excel file
Workbook workbook = new Workbook("sample.xlsm");

// Extract code from each VBA module
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;
    Console.Write(code);
}

使用C#将VBA宏添加到Excel文件

.NET的Aspose.Cells也允许您将VBA宏添加到现有或新的Excel文件中。可以按照以下步骤完成。

  1. 使用Workbook类创建一个新的Excel文件或加载一个现有的文件。
  2. 使用Worksheet类添加一个新工作表或获取现有工作表。
  3. 使用Workbook.VbaProject.Modules.Add(Worksheet)方法添加一个新的VBA模块,并获取该模块的ID。
  4. 从Workbook.VbaProject.Modules [idx]集合访问VBA模块到VbaModule对象。
  5. 使用VbaModule.Name属性添加模块的名称。
  6. 使用VbaModule.Codes属性将代码添加到模块中。
  7. 使用Workbook.Save(String,SaveFormat.Xlsm)方法保存工作簿。

下面的代码示例演示如何使用C#将VBA宏添加到Excel工作簿。

// Create new workbook
Workbook workbook = new Workbook();

// Access first worksheet
Worksheet worksheet = workbook.Worksheets[0];

// Add VBA Module
int idx = workbook.VbaProject.Modules.Add(worksheet);

// Access the VBA Module, set its name and codes
Aspose.Cells.Vba.VbaModule module = workbook.VbaProject.Modules[idx];
module.Name = "TestModule";

module.Codes = "Sub ShowMessage()" + "\r\n" +
"    MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub";

// Save the workbook
workbook.Save("output_out.xlsm", SaveFormat.Xlsm);

使用C#在Excel文件中修改VBA宏

还可以使用以下步骤修改Excel文件中的现有VBA宏。

  1. 使用Workbook类加载Excel文件。
  2. 从Workbook.VbaProject.Modules集合到VbaModule对象中访问VBA模块。
  3. 使用VbaModule.Codes属性从所需模块中检索代码。
  4. 替换代码并使用Workbook.Save(String)方法保存Excel文件。

下面的代码示例演示如何使用C#修改Excel文件中的VBA宏。

// Create workbook object from source Excel file
Workbook workbook = new Workbook("sample.xlsm");

// Change the VBA Module Code
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;

    // Replace the original message with the modified message
    if (code.Contains("This is test message."))
    {
        code = code.Replace("This is test message.", "This is Aspose.Cells message.");
        module.Codes = code;
    }
}

// Save the output Excel file
workbook.Save("output_out.xlsm");

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

标签:

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP