Šiame straipsnyje paaiškinama, kaip pridėti modulį į Excel VBA biblioteką Java. Jame yra išsami informacija, skirta nustatyti kūrimo aplinką, programavimo užduočių sąrašas ir pavyzdinis kodas, rodantis modulio pridėjimą VBA kodų bibliotekoje Java. Taip pat išmoksite nustatyti įvairias modulio ypatybes, pvz., VBA kodą, kuris parodo Excel failo makrokomandos kūrimą.
Veiksmai, kaip modifikuoti „Excel“ VBA kodų biblioteką „Java“.
- Nustatykite IDE naudoti Aspose.Cells for Java, kad veiktų su VBA
- Sukurkite objektą Workbook, pasiekite sheet ir pridėkite modulį pasirinktam lapui
- Pasiekite naują modulį iš darbaknygės ir nustatykite jo pavadinimą
- Parašykite ir patikrinkite VBA kodą ir naudokite jį kaip kodų savybę modulyje
- Išsaugokite išvesties Excel failą kaip XLSM diske arba, jei reikia, sraute
Šiuose žingsniuose apibendrinamas Excel VBA šaltinio kodo bibliotekos Java papildymo procesas. Procesas yra paprastas, nes norint pridėti naują VbaModule ir nustatyti kelias ypatybes, reikia darbaknygės darbalapio. Nustatykite nuosavybės kodus su kelių eilučių VBA kodu, kad makrokomandos veiktų.
Kodas, skirtas pridėti kodą „Excel“ makro bibliotekoje „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"); | |
} | |
} |
Šis kodo fragmentas parodo, kaip * pasiekti VBA kodų biblioteką Java* ir pridėti modulį su kodu. Šiame pavyzdiniame kode nustatėme pavadinimą ir kodą, kuris keičia langelių spalvą pagal VBA kode apibrėžtą reikšmių diapazoną. Galite pridėti modulį naudodami kitą perkrautą metodą, kuris naudoja VbaModuleType skaitiklio reikšmę kaip argumentą, į kurį įeina KLASĖ, DESIGNER, DOCUMENT ir PROCEDURAL.
Šis straipsnis mus išmokė sukurti naują makrokomandą Excel faile. Jei norite taikyti sąlyginį formatavimą programoje Excel, žr. straipsnį apie Taikykite sąlyginį formatavimą Excel naudodami Java..