Додайте модуль у бібліотеку 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 та використовуйте його як властивість codes у модулі
  5. Збережіть вихідний файл Excel як XLSM на диску або потоці, якщо потрібно

Ці кроки підсумовують процес внесення доповнень до бібліотеки вихідного коду Excel VBA в Java. Процес простий, оскільки він вимагає робочого аркуша з робочої книги, щоб додати новий VbaModule, а потім встановити в ньому кілька властивостей. Установіть властивість Codes за допомогою багаторядкового коду VBA, щоб зробити макрос робочим.

Код для додавання коду в бібліотеку макросів Excel на 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.

 Українська