Тази статия ръководи как да добавите модул в Excel VBA библиотека в Java. Има подробности за настройка на средата за разработка, списък с програмни задачи и примерен код, който демонстрира добавянето на модул в VBA кодова библиотека в Java. Освен това ще се научите да задавате различни свойства на модула, като кода на VBA, който показва разработването на макрос за файл на Excel.
Стъпки за промяна на библиотеката с кодове на Excel VBA в Java
- Настройте IDE да използва Aspose.Cells for Java за работа с VBA
- Създаване на обект Workbook, достъп до sheet и добавяне на модул за избрания лист
- Влезте в новия модул от работната книга и задайте името му
- Напишете и тествайте VBA код и го използвайте като свойство на кодовете в модула
- Запазете изходния Excel файл като XLSM на диска или поток, ако е необходимо
Тези стъпки обобщават процеса на добавяне към библиотеката с изходен код на Excel VBA в Java. Процесът е прост, тъй като изисква работен лист от работна книга, за да добавите нов VbaModule и след това да зададете няколко свойства в него. Задайте кодовете на свойството с многоредов VBA код, за да направите макроса работещ.
Код за добавяне на код в Excel Macro Library в 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"); | |
} | |
} |
Този кодов фрагмент показва как да достъпите до VBA кодова библиотека в Java и да добавите модул с код в нея. В този примерен код сме задали името и кода, които променят цвета на клетките според диапазона от стойности, дефинирани в кода на VBA. Можете да добавите модул, като използвате друг претоварен метод, който приема стойността на изброителя VbaModuleType като аргумент, който включва CLASS, DESIGNER, DOCUMENT и PROCEDURAL.
Тази статия ни научи да създаваме нов макрос във файл на Excel. За да приложите условно форматиране в Excel, вижте статията на Приложете условно форматиране в Excel с помощта на Java.