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
- Imposta l’IDE per utilizzare Aspose.Cells for Java per funzionare con VBA
- Crea un’istanza di un oggetto Workbook, accedi a un sheet e aggiungi un modulo per il foglio selezionato
- Accedi al nuovo modulo dalla cartella di lavoro e impostane il nome
- Scrivere e testare un codice VBA e utilizzarlo come proprietà codes nel modulo
- 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.