Добавете модул в Excel VBA библиотека в Java

Тази статия ръководи как да добавите модул в Excel VBA библиотека в Java. Има подробности за настройка на средата за разработка, списък с програмни задачи и примерен код, който демонстрира добавянето на модул в VBA кодова библиотека в Java. Освен това ще се научите да задавате различни свойства на модула, като кода на VBA, който показва разработването на макрос за файл на Excel.

Стъпки за промяна на библиотеката с кодове на Excel VBA в Java

  1. Настройте IDE да използва Aspose.Cells for Java за работа с VBA
  2. Създаване на обект Workbook, достъп до sheet и добавяне на модул за избрания лист
  3. Влезте в новия модул от работната книга и задайте името му
  4. Напишете и тествайте VBA код и го използвайте като свойство на кодовете в модула
  5. Запазете изходния 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.

 Български