Aggiungi modulo nella libreria VBA di Excel in Java

Questo articolo spiega come aggiungere un modulo nella libreria VBA Excel in Java. Contiene i dettagli per impostare l’ambiente di sviluppo, un elenco di attività di programmazione e un codice di esempio che dimostra l’aggiunta di un modulo nella libreria di codici VBA in Java. Imparerai anche a impostare varie proprietà del modulo, come il codice VBA che mostra lo sviluppo di una macro per un file Excel.

Passaggi per modificare la libreria di codici VBA di Excel in Java

  1. Imposta l’IDE per utilizzare Aspose.Cells for Java per funzionare con VBA
  2. Crea un’istanza di un oggetto Workbook, accedi a un sheet e aggiungi un modulo per il foglio selezionato
  3. Accedi al nuovo modulo dalla cartella di lavoro e impostane il nome
  4. Scrivere e testare un codice VBA e utilizzarlo come proprietà codes nel modulo
  5. Salva il file Excel di output come XLSM sul disco o esegui lo streaming, se necessario

Questi passaggi riepilogano il processo di aggiunta alla libreria del codice sorgente VBA Excel in Java. Il processo è semplice in quanto richiede un foglio di lavoro da una cartella di lavoro per aggiungere un nuovo VbaModule e quindi impostare alcune proprietà al suo interno. Impostare la proprietà Codici con codice VBA multiriga per rendere operativa la macro.

Codice per aggiungere codice nella libreria macro di Excel in 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");
}
}

Questo frammento di codice mostra come accedere alla libreria di codici VBA in Java e aggiungere un modulo con codice al suo interno. In questo codice di esempio abbiamo impostato il nome e il codice che modifica il colore delle celle in base all’intervallo di valori definito nel codice VBA. È possibile aggiungere un modulo utilizzando un altro metodo di sovraccarico che accetta il valore dell’enumeratore VbaModuleType come argomento che include CLASS, DESIGNER, DOCUMENT e PROCEDURAL.

Questo articolo ci ha insegnato a creare una nuova macro in un file Excel. Per applicare la formattazione condizionale in Excel, fare riferimento all’articolo su Applicare la formattazione condizionale in Excel utilizzando Java.

 Italiano