VBA — это язык программирования, используемый для автоматизации различных операций с файлами MS Excel. В частности, макросы VBA представляют собой определяемые пользователем коды, которые позволяют ускорить выполнение задач по работе с электронными таблицами. В этой статье вы узнаете, как программно работать с макросами VBA в файлах Excel. В конечном итоге вы сможете добавлять и изменять макросы VBA в Excel с помощью Java.
- Работа с макросами VBA с использованием Java API
- Добавление макросов VBA в книгу Excel
- Изменить макрос VBA в книге Excel
Работа с макросами Excel VBA с использованием Java API
Для работы с макросами VBA в файлах Excel мы будем использовать Aspose.Cells for Java. Это мощный API-интерфейс автоматизации электронных таблиц, который позволяет создавать, изменять и преобразовывать файлы Excel. Кроме того, это упрощает работу с макросами VBA. Вы можете либо скачать API, либо установить его, используя следующие конфигурации Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>21.5</version>
</dependency>
Добавление макросов VBA в книгу Excel на Java
Ниже приведены шаги для добавления макроса VBA в файлы Excel на Java.
- Сначала загрузите существующую книгу или создайте новую, используя класс Workbook.
- Извлеките рабочий лист в объект Worksheet с помощью метода Workbook.getWorksheets().get(index).
- Добавьте новый модуль VBA, используя метод Workbook.getVbaProject().getModules().add(Worksheet).
- Получите ссылку на вновь добавленный модуль в объект VbaModule.
- Задайте имя и код модуля с помощью методов VbaModule.setName() и VbaModule.setCodes() соответственно.
- Наконец, сохраните книгу, используя метод Workbook.save(string, SaveFormat.XLSM).
В следующем примере кода показано, как добавить макрос VBA в файл Excel с помощью Java.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-cells/Aspose.Cells-for-Java.
// Загрузить книгу Excel
Workbook workbook = new Workbook("workbook.xlsm");
// Доступ к первому рабочему листу
Worksheet worksheet = workbook.getWorksheets().get(0);
// Добавить модуль VBA
int idx = workbook.getVbaProject().getModules().add(worksheet);
// Получите доступ к модулю VBA, установите его имя и коды
VbaModule module = workbook.getVbaProject().getModules().get(idx);
module.setName("TestModule");
module.setCodes("Sub ShowMessage()" + "\r\n" + " MsgBox \"Welcome to Aspose!\"" + "\r\n" + "End Sub");
// Сохраните книгу
workbook.save("output.xlsm", SaveFormat.XLSM);
Изменить макрос VBA в книге Excel на Java
Ниже приведены шаги по изменению макроса VBA в файлах Excel с использованием Java.
- Сначала загрузите существующую книгу с помощью класса Workbook.
- Получить коллекцию модулей VBA в объекте VbaModuleCollection с помощью метода Workbook.getVbaProject().getModules().
- Итеративно извлекайте каждый модуль VBA из коллекции в объект VbaModule.
- Обновите имя и код нужного модуля с помощью методов VbaModule.setName() и VbaModule.setCodes() соответственно.
- Наконец, сохраните книгу, используя метод Workbook.save(string, SaveFormat.XLSM).
В следующем примере кода показано, как изменить макрос VBA в файле Excel с помощью Java.
// Полные примеры и файлы данных см. на странице https://github.com/aspose-cells/Aspose.Cells-for-Java.
// Создать объект книги из исходного файла Excel
Workbook workbook = new Workbook("sample.xlsm");
// Изменить код модуля VBA
VbaModuleCollection modules = workbook.getVbaProject().getModules();
for (int i = 0; i < modules.getCount(); i++) {
VbaModule module = modules.get(i);
String code = module.getCodes();
// Заменить исходное сообщение измененным сообщением
if (code.contains("This is test message.")) {
code = code.replace("This is test message.", "This is Aspose.Cells message.");
module.setCodes(code);
}
}
// Сохраните выходной файл Excel
workbook.save("output.xlsm");
Получить бесплатную лицензию
Вы можете использовать Aspose.Cells for Java без ограничений по оценке, используя временную лицензию. Получи свой сейчас.
Вывод
Макросы VBA используются для автоматизации различных типов задач в электронных таблицах. В этой статье описано, как программно работать с макросами VBA, как добавлять и изменять код в модулях VBA с помощью Java. Чтобы узнать больше, вы можете изучить документацию API для работы с электронными таблицами Java. Кроме того, вы можете размещать свои вопросы или запросы на нашем форуме.
Смотрите также
- Создание файлов Excel с использованием Java без MS Office
- Преобразование файлов Excel в PDF с помощью Java
Совет: вы можете попробовать Aspose онлайн-инструмент для удаления макросов VBA.