У цій статті описано, як додати модуль до Excel бібліотеки VBA в Java. Він містить деталі налаштування середовища розробки, список програмних завдань і приклад коду, який демонструє додавання модуля в бібліотеку коду VBA в Java. Ви також навчитеся встановлювати різні властивості модуля, наприклад код VBA, який демонструє розробку макросу для файлу Excel.
Кроки для зміни бібліотеки коду Excel VBA в Java
- Налаштуйте IDE на використання Aspose.Cells for Java для роботи з VBA
- Створіть об’єкт Workbook, отримайте доступ до sheet і додайте модуль для вибраного аркуша
- Отримайте доступ до нового модуля з робочої книги та встановіть його назву
- Напишіть і протестуйте код VBA та використовуйте його як властивість codes у модулі
- Збережіть вихідний файл 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.