VBA je programovací jazyk používaný k automatizaci různých operací se soubory MS Excel. Zejména makra VBA jsou uživatelsky definované kódy, které vám umožňují urychlit úlohy manipulace s tabulkami. V tomto článku se dozvíte, jak programově pracovat s makry VBA v souborech Excelu. Nakonec budete moci přidávat a upravovat makra VBA v Excelu pomocí Java.
- Práce s makry VBA pomocí Java API
- Přidejte makra VBA do sešitu aplikace Excel
- Upravte makro VBA v sešitu aplikace Excel
Práce s makry Excel VBA pomocí Java API
Abychom mohli pracovat s makry VBA v souborech aplikace Excel, použijeme Aspose.Cells for Java. Jedná se o výkonné rozhraní API pro automatizaci tabulek, které umožňuje vytvářet, upravovat a převádět soubory aplikace Excel. Dále to zjednodušuje manipulaci s makry VBA. Rozhraní API si můžete buď stáhnout, nebo jej nainstalovat pomocí následujících konfigurací 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>
Přidejte makra VBA do sešitu aplikace Excel v Javě
Následují kroky pro přidání makra VBA do souborů aplikace Excel v Javě.
- Nejprve načtěte existující sešit nebo vytvořte nový pomocí třídy Sešit.
- Načtěte list do objektu Worksheet pomocí metody Workbook.getWorksheets().get(index).
- Přidejte nový modul VBA pomocí metody Workbook.getVbaProject().getModules().add(Worksheet).
- Získejte odkaz na nově přidaný modul do objektu VbaModule.
- Nastavte název a kód modulu pomocí metod VbaModule.setName() a VbaModule.setCodes().
- Nakonec sešit uložte pomocí metody Workbook.save(string, SaveFormat.XLSM).
Následující ukázka kódu ukazuje, jak přidat makro VBA do souboru aplikace Excel pomocí jazyka Java.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-cells/Aspose.Cells-for-Java
// Načíst sešit aplikace Excel
Workbook workbook = new Workbook("workbook.xlsm");
// Přístup k prvnímu listu
Worksheet worksheet = workbook.getWorksheets().get(0);
// Přidejte modul VBA
int idx = workbook.getVbaProject().getModules().add(worksheet);
// Otevřete modul VBA, nastavte jeho název a kódy
VbaModule module = workbook.getVbaProject().getModules().get(idx);
module.setName("TestModule");
module.setCodes("Sub ShowMessage()" + "\r\n" + " MsgBox \"Welcome to Aspose!\"" + "\r\n" + "End Sub");
// Uložte sešit
workbook.save("output.xlsm", SaveFormat.XLSM);
Upravte makro VBA v sešitu aplikace Excel v Javě
Níže jsou uvedeny kroky k úpravě makra VBA v souborech aplikace Excel pomocí Java.
- Nejprve načtěte existující sešit pomocí třídy Sešit.
- Načtěte kolekci modulů VBA v objektu VbaModuleCollection pomocí metody Workbook.getVbaProject().getModules().
- Načtěte každý modul VBA z kolekce do objektu VbaModule iterativně.
- Aktualizujte název a kód požadovaného modulu pomocí metod VbaModule.setName() a VbaModule.setCodes().
- Nakonec sešit uložte pomocí metody Workbook.save(string, SaveFormat.XLSM).
Následující ukázka kódu ukazuje, jak upravit makro VBA v souboru aplikace Excel pomocí jazyka Java.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-cells/Aspose.Cells-for-Java
// Vytvořte objekt sešitu ze zdrojového souboru aplikace Excel
Workbook workbook = new Workbook("sample.xlsm");
// Změňte kód modulu VBA
VbaModuleCollection modules = workbook.getVbaProject().getModules();
for (int i = 0; i < modules.getCount(); i++) {
VbaModule module = modules.get(i);
String code = module.getCodes();
// Nahraďte původní zprávu upravenou zprávou
if (code.contains("This is test message.")) {
code = code.replace("This is test message.", "This is Aspose.Cells message.");
module.setCodes(code);
}
}
// Uložte výstupní soubor aplikace Excel
workbook.save("output.xlsm");
Získejte bezplatnou licenci
Aspose.Cells for Java můžete používat bez omezení hodnocení pomocí dočasné licence. Získejte svůj nyní.
Závěr
Makra jazyka VBA se používají k automatizaci různých typů úloh v tabulkových procesorech. Aby bylo možné pracovat s makry VBA programově, tento článek se zabýval tím, jak přidat a upravit kód v modulech VBA pomocí Java. Chcete-li se dozvědět více, můžete prozkoumat dokumentaci rozhraní API pro manipulaci s tabulkami Java. Své dotazy nebo dotazy můžete také zveřejňovat na našem fóru.
Viz také
Tip: Možná budete chtít vyzkoušet Aspose online nástroj pro odstranění makra VBA.