Modificar la biblioteca Excel VBA usando C#

Este artículo guía sobre cómo modificar la biblioteca Excel VBA usando C#. Comparte la configuración del IDE, una lista de pasos y un fragmento de código para agregar un módulo en una biblioteca de códigos VBA de Excel usando C#. Demuestra cómo acceder al proyecto VBA y agregar módulos y código en el libro de trabajo.

Pasos para modificar la biblioteca de códigos VBA de Excel usando C#

  1. Configure el IDE para usar Aspose.Cells for .NET para agregar módulo y código
  2. Cree un workbook, acceda a una hoja y agregue un VBA module
  3. Acceda al módulo recién creado utilizando el índice del nuevo módulo
  4. Establecer el nombre y el código del módulo.
  5. Guarde el archivo Excel de salida con la nueva macro VBA

Estos pasos explican el proceso para agregar un módulo en la biblioteca de código fuente de Excel VBA usando C#. Acceda a la colección VbaProject.Modules del libro seleccionado y llame al método Add() para agregar un nuevo módulo. Obtenga una referencia al módulo recién creado y establezca su nombre y códigos en los valores deseados antes de guardar el archivo XLSM resultante.

Código para actualizar la biblioteca de macros de Excel usando C#

using System;
using Aspose.Cells;
using Aspose.Cells.Vba;
class Program
{
static void Main(string[] args) // Add VBA code in Excel using C#
{
new License().SetLicense("License.lic");
// Create new workbook, access a sheet and add a VBA module
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
int moduleIndex = workbook.VbaProject.Modules.Add(worksheet);
// Access the VBA Module
VbaModule module = workbook.VbaProject.Modules[moduleIndex];
// Set module name
module.Name = "TestModule";
// Set module code
module.Codes =
@"Private Sub Worksheet_Change(ByVal Target As Range)
' Check if the changed cell is A1
If Target.Address = ""$A$1"" Then
' Check if the changed cell is not empty
If Target.Value <> """" Then
' Display a message box
MsgBox ""Text entered in cell A1: "" & Target.Value, vbInformation, ""Cell A1 Change""
End If
End If
End Sub
";
// Save the workbook
workbook.Save("output.xlsm", SaveFormat.Xlsm);
Console.WriteLine("VBA code added successfully");
}
}

Este código de muestra demuestra cómo acceder a la biblioteca de códigos VBA usando C# en un archivo de Excel y agregar módulo y código. El código de muestra en el módulo muestra un cuadro de mensaje en MS Excel cada vez que se cambia el valor de la celda A1. Este cuadro de mensaje contiene el valor actualizado en la celda; sin embargo, puede cambiar el código según sus requisitos.

Este artículo nos ha enseñado a agregar macros a un archivo de Excel. Para mostrar fórmulas en Excel, consulte el artículo sobre cómo mostrar fórmulas en Excel usando C#.

 Español