Agregar módulo en la biblioteca Excel VBA en Java

Este artículo guía cómo agregar un módulo en la biblioteca Excel VBA en Java. Tiene los detalles para configurar el entorno de desarrollo, una lista de tareas de programación y un código de muestra que demuestra la adición de un módulo en la biblioteca de códigos VBA en Java. También aprenderá a configurar varias propiedades del módulo, como el código VBA que muestra el desarrollo de una macro para un archivo de Excel.

Pasos para modificar la biblioteca de códigos VBA de Excel en Java

  1. Configure el IDE para usar Aspose.Cells for Java para trabajar con VBA
  2. Cree una instancia de un objeto Workbook, acceda a un sheet y agregue un módulo para la hoja seleccionada
  3. Acceda al nuevo módulo desde el libro de trabajo y establezca su nombre
  4. Escriba y pruebe un código VBA y utilícelo como propiedad de códigos en el módulo
  5. Guarde el archivo Excel de salida como XLSM en el disco o transmítalo si es necesario

Estos pasos resumen el proceso de realizar adiciones a la biblioteca de código fuente de Excel VBA en Java. El proceso es simple ya que requiere una hoja de trabajo de un libro para agregar un nuevo VbaModule y luego establecer algunas propiedades en él. Establezca la propiedad Códigos con código VBA multilínea para que la macro sea operativa.

Código para agregar código en la biblioteca de macros de Excel en Java

import com.aspose.cells.*;
public class Main
{
public static void main(String[] args) throws Exception // Add VBA Code in Java
{
// Set the licenses
new License().setLicense("License.lic");
// Create a workbook
Workbook wb = new Workbook();
// Select a sheet
Worksheet ws = wb.getWorksheets().get(0);
// Add VBA Module and get its reference
int idx = wb.getVbaProject().getModules().add(ws);
VbaModule module = wb.getVbaProject().getModules().get(idx);
// Assign a name to the module
module.setName("SetGreenEven");
// Set code for the module
module.setCodes("""
Private Sub Worksheet_Change(ByVal Target As Range)
' Verify if updated cell is within a specified range
If Not Intersect(Target, Range("A1:Z100")) Is Nothing Then
' Loop through all cells
For Each Cell In Target
' Check the cell value and apply formatting accordingly
If Cell.Value >= 80 Then
Cell.Interior.Color = RGB(0, 255, 0) ' Green
ElseIf Cell.Value >= 50 And Cell.Value < 80 Then
Cell.Interior.Color = RGB(255, 165, 0) ' Orange
ElseIf Cell.Value < 50 Then
Cell.Interior.Color = RGB(152, 133, 88) ' Dark Tan
Else
' Reset the background color if none of the conditions are met
Cell.Interior.ColorIndex = xlNone
End If
Next Cell
End If
End Sub
""");
// Save the output
wb.save("sampleWithMacro.xlsm", SaveFormat.XLSM);
System.out.println("Done");
}
}

Este fragmento de código muestra cómo acceder a la biblioteca de códigos VBA en Java y agregar un módulo con código. En este código de muestra, hemos configurado el nombre y el código que cambia el color de las celdas según el rango de valores definido en el código VBA. Puede agregar un módulo utilizando otro método sobrecargado que toma el valor del enumerador VbaModuleType como argumento que incluye CLASE, DISEÑADOR, DOCUMENTO y PROCEDURAL.

Este artículo nos ha enseñado a crear una nueva macro en un archivo de Excel. Para aplicar formato condicional en Excel, consulte el artículo sobre Aplicar formato condicional en Excel usando Java.

 Español