Ez a cikk bemutatja, hogyan lehet modult hozzáadni a Excel VBA-könyvtárhoz Java nyelven. Tartalmazza a fejlesztői környezet beállításának részleteit, a programozási feladatok listáját és egy mintakódot, amely bemutatja egy modul hozzáadását a Java VBA kódkönyvtárába. Azt is megtanulja, hogyan állíthat be különféle modultulajdonságokat, például a VBA-kódot, amely egy Excel-fájl makrójának fejlesztését mutatja be.
Az Excel VBA kódkönyvtár módosításának lépései Java nyelven
- Állítsa be az IDE-t a Aspose.Cells for Java használatára a VBA-val való együttműködéshez
- Példányosítson egy Workbook objektumot, érjen el egy sheet-t, és adjon hozzá egy modult a kiválasztott laphoz
- Nyissa meg az új modult a munkafüzetből, és állítsa be a nevét
- Írjon és teszteljen egy VBA-kódot, és használja azt kódtulajdonságként a modulban
- Mentse el a kimeneti Excel-fájlt XLSM-ként a lemezre vagy szükség esetén adatfolyamra
Ezek a lépések összefoglalják az Excel VBA forráskód-könyvtár Java-ban történő kiegészítésének folyamatát. A folyamat egyszerű, mivel egy munkafüzetből egy munkalapra van szükség egy új VbaModule hozzáadásához, majd néhány tulajdonság beállításához. Állítsa be a Codes tulajdonságot többsoros VBA-kóddal a makró működéséhez.
Kód a kód hozzáadásához az Excel makrókönyvtárban Java nyelven
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"); | |
} | |
} |
Ez a kódrészlet bemutatja, hogyan lehet hozzáférni a VBA kódkönyvtárhoz Java nyelven, és hogyan lehet hozzáadni egy kódot tartalmazó modult. Ebben a mintakódban beállítottuk azt a nevet és kódot, amely megváltoztatja a cellák színét a VBA-kódban meghatározott értéktartománynak megfelelően. Hozzáadhat egy modult egy másik túlterhelt metódussal, amely a VbaModuleType enumerátor értékét veszi argumentumként, amely tartalmazza a CLASS, DESIGNER, DOCUMENT és PROCEDURAL paramétereket.
Ez a cikk megtanított minket új makrók létrehozására Excel-fájlban. A feltételes formázás Excelben történő alkalmazásához olvassa el a Alkalmazzon feltételes formázást az Excelben Java használatával című cikket.