VBA to język programowania służący do automatyzacji różnych operacji w plikach MS Excel. W szczególności makra VBA to zdefiniowane przez użytkownika kody, które pozwalają przyspieszyć zadania związane z manipulacją arkuszami kalkulacyjnymi. W tym artykule dowiesz się, jak programowo pracować z makrami VBA w plikach Excela. Docelowo będziesz mógł dodawać i modyfikować makra VBA w Excelu przy użyciu Javy.
- Pracuj z makrami VBA przy użyciu Java API
- Dodaj makra VBA do skoroszytu programu Excel
- Zmodyfikuj makro VBA w skoroszycie programu Excel
Pracuj z makrami Excel VBA przy użyciu Java API
Do pracy z makrami VBA w plikach Excel wykorzystamy Aspose.Cells for Java. Jest to potężny interfejs API do automatyzacji arkuszy kalkulacyjnych, który umożliwia tworzenie, modyfikowanie i konwertowanie plików Excel. Ponadto upraszcza manipulowanie makrami VBA. Możesz pobrać interfejs API lub zainstalować go przy użyciu następujących konfiguracji Mavena.
<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>
Dodaj makra VBA do skoroszytu programu Excel w Javie
Poniżej przedstawiono kroki dodawania makr VBA w plikach Excel w Javie.
- Najpierw załaduj istniejący skoroszyt lub utwórz nową klasę using Workbook.
- Pobierz arkusz do obiektu Worksheet przy użyciu metody Workbook.getWorksheets().get(index).
- Dodaj nowy moduł VBA za pomocą metody Workbook.getVbaProject().getModules().add(Worksheet).
- Pobierz referencję nowo dodanego modułu do obiektu VbaModule.
- Ustaw nazwę i kod modułu za pomocą odpowiednio metod VbaModule.setName() i VbaModule.setCodes().
- Na koniec zapisz skoroszyt przy użyciu metody Workbook.save(string, SaveFormat.XLSM).
Poniższy przykładowy kod pokazuje, jak dodać makro VBA do pliku programu Excel przy użyciu języka Java.
// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-cells/Aspose.Cells-for-Java
// Załaduj skoroszyt programu Excel
Workbook workbook = new Workbook("workbook.xlsm");
// Uzyskaj dostęp do pierwszego arkusza roboczego
Worksheet worksheet = workbook.getWorksheets().get(0);
// Dodaj moduł VBA
int idx = workbook.getVbaProject().getModules().add(worksheet);
// Uzyskaj dostęp do modułu VBA, ustaw jego nazwę i kody
VbaModule module = workbook.getVbaProject().getModules().get(idx);
module.setName("TestModule");
module.setCodes("Sub ShowMessage()" + "\r\n" + " MsgBox \"Welcome to Aspose!\"" + "\r\n" + "End Sub");
// Zapisz skoroszyt
workbook.save("output.xlsm", SaveFormat.XLSM);
Zmodyfikuj makro VBA w skoroszycie programu Excel w Javie
Poniżej przedstawiono kroki, aby zmodyfikować makro VBA w plikach Excela przy użyciu języka Java.
- Najpierw załaduj istniejący skoroszyt przy użyciu klasy Workbook.
- Pobierz kolekcję modułów VBA w obiekcie VbaModuleCollection przy użyciu metody Workbook.getVbaProject().getModules().
- Pobierz każdy moduł VBA z kolekcji do obiektu VbaModule iteracyjnie.
- Zaktualizuj nazwę i kod żądanego modułu, używając odpowiednio metod VbaModule.setName() i VbaModule.setCodes().
- Na koniec zapisz skoroszyt przy użyciu metody Workbook.save(string, SaveFormat.XLSM).
Poniższy przykładowy kod pokazuje, jak zmodyfikować makro VBA w pliku programu Excel przy użyciu języka Java.
// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-cells/Aspose.Cells-for-Java
// Utwórz obiekt skoroszytu ze źródłowego pliku Excel
Workbook workbook = new Workbook("sample.xlsm");
// Zmień kod modułu VBA
VbaModuleCollection modules = workbook.getVbaProject().getModules();
for (int i = 0; i < modules.getCount(); i++) {
VbaModule module = modules.get(i);
String code = module.getCodes();
// Zastąp oryginalną wiadomość zmodyfikowaną wiadomością
if (code.contains("This is test message.")) {
code = code.replace("This is test message.", "This is Aspose.Cells message.");
module.setCodes(code);
}
}
// Zapisz wyjściowy plik programu Excel
workbook.save("output.xlsm");
Uzyskaj bezpłatną licencję
Możesz używać Aspose.Cells for Java bez ograniczeń ewaluacyjnych przy użyciu tymczasowej licencji. Odbierz teraz.
Wniosek
Makra VBA służą do automatyzacji różnego rodzaju zadań w arkuszach kalkulacyjnych. Aby programowo pracować z makrami VBA, w tym artykule omówiono sposób dodawania i modyfikowania kodu w modułach VBA przy użyciu języka Java. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją interfejsu API manipulowania arkuszami kalkulacyjnymi w języku Java. Możesz również zamieścić swoje pytania lub zapytania na naszym forum.
Zobacz też
- Twórz pliki programu Excel przy użyciu języka Java bez pakietu MS Office
- Konwertuj pliki Excel do formatu PDF przy użyciu języka Java
Wskazówka: możesz wypróbować Aspose narzędzie online do usuwania makr VBA.