使用 Node.js 在 Excel VBA 库中添加模块

本指南解释了如何使用 Node.js 在 Excel VBA 库中添加模块。它包含设置开发环境的详细信息、添加 VBA 代码的任务列表以及使用 Node.js 访问 VBA 代码库以添加方法的过程。您将学习自定义模块和添加多种方法的各种选项。

使用 Node.js 更新 VBA 代码库的步骤

  1. 配置 Aspose.Cells for Node.js via Java 添加 VBA 代码
  2. 创建一个 workbook 并获取对用于添加 VBA module 的工作表的引用
  3. 从 Excel 工作簿中的 VbaProject 访问模块集合
  4. 获取新添加模块的引用
  5. 设置模块名称
  6. 设置模块代码
  7. 保存 Excel 工作簿

这些步骤总结了使用 Node.js* 增强 *Excel VBA 代码库的过程。访问工作簿中包含模块集合的 VbaProject 对象以添加新模块。设置新模块的各种属性,例如使用多种方法添加多行VBA代码的名称和代码。

使用 Node.js 添加 Excel VBA 源代码库的代码

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Set the license
new aspose.cells.License().setLicense("License.lic");
// Create a workbook
var wb = new aspose.cells.Workbook();
// Select a sheet
var ws = wb.getWorksheets().get(0);
// Add VBA Module
var idx = wb.getVbaProject().getModules().add(ws);
var module = wb.getVbaProject().getModules().get(idx);
// Assign a name
module.setName("ConvertTextToUpper");
// Set code
const moduleCodes = `
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
' Disable events
Application.EnableEvents = False
Dim cell As Range
For Each cell In Target
If Not Intersect(cell, Me.UsedRange) Is Nothing Then
' Convert to uppercase
cell.Value = UCase(cell.Value)
End If
Next cell
' Enable events after the changes are made
Application.EnableEvents = True
End Sub
`;
module.setCodes(moduleCodes);
// Save the output
wb.save("VbaCodeExcel.xlsm", aspose.cells.SaveFormat.XLSM);
console.log("Vba Code added successfully");

此代码演示了如何使用 Node.js* 修改 *Excel VBA 库。在此示例代码中,添加了一个 VBA 方法来处理工作表中的更改事件,以便每当在单元格中输入字符串时,它都会自动转换为大写,但是,您可以在此代码段中添加多个事件处理程序。 VbaProject 类具有各种用于自定义的属性和方法,例如保护或取消保护 VBA 项目、设置编码和对其进行签名。

在本主题中,我们学习了在 VBA 库中添加方法。要在 Excel 文件中应用过滤器,请参阅有关 如何使用 Node.js 在 Excel 中应用过滤器 的文章。

 简体中文