Den här artikeln vägleder hur du lägger till modul i Excel VBA-bibliotek i Java. Den har detaljerna för att ställa in utvecklingsmiljön, en lista över programmeringsuppgifter och en exempelkod som visar tillägget av en modul i VBA-kodbibliotek i Java. Du kommer också att lära dig att ställa in olika modulegenskaper, till exempel VBA-koden som visar utvecklingen av ett makro för en Excel-fil.
Steg för att ändra Excel VBA-kodbibliotek i Java
- Ställ in IDE att använda Aspose.Cells for Java för att fungera med VBA
- Instantiera ett Workbook-objekt, öppna ett sheet och lägg till en modul för det valda arket
- Öppna den nya modulen från arbetsboken och ange dess namn
- Skriv och testa en VBA-kod och använd den som kodegenskapen i modulen
- Spara den utgående Excel-filen som XLSM på disken eller streama om det behövs
Dessa steg sammanfattar processen för att göra tillägg till Excel VBA-källkodsbiblioteket i Java. Processen är enkel eftersom det kräver ett kalkylblad från en arbetsbok för att lägga till en ny VbaModule och sedan ställa in några egenskaper i den. Ställ in egenskapen Koder med flerrads VBA-kod för att göra makrot operativt.
Kod för att lägga till kod i Excel Macro Library i 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"); | |
} | |
} |
Det här kodavsnittet visar hur man kommer åt VBA-kodbiblioteket i Java och lägger till en modul med kod i den. I denna exempelkod har vi ställt in namnet och koden som ändrar färgen på cellerna enligt värdeintervallet som definieras i VBA-koden. Du kan lägga till en modul med en annan överbelastad metod som tar VbaModuleType-uppräkningsvärdet som ett argument som inkluderar CLASS, DESIGNER, DOCUMENT och PROCEDURAL.
Den här artikeln har lärt oss att skapa ett nytt makro i en Excel-fil. För att tillämpa villkorlig formatering i Excel, se artikeln om Använd villkorlig formatering i Excel med Java.