VBA är ett programmeringsspråk som används för att automatisera olika operationer i MS Excel-filer. Speciellt VBA-makron är användardefinierade koder som låter dig påskynda manipuleringsuppgifterna för kalkylblad. I den här artikeln kommer du att lära dig hur du arbetar med VBA-makron i Excel-filer programmatiskt. I slutändan kommer du att kunna lägga till och ändra VBA-makron i Excel med Java.
- Arbeta med VBA-makron med Java API
- Lägg till VBA-makron till en Excel-arbetsbok
- Ändra VBA-makro i en Excel-arbetsbok
Arbeta med Excel VBA-makron med Java API
För att arbeta med VBA-makron i Excel-filer kommer vi att använda Aspose.Cells for Java. Det är ett kraftfullt kalkylarksautomatiserings-API som låter dig skapa, ändra och konvertera Excel-filer. Dessutom förenklar det manipuleringen av VBA-makron. Du kan antingen ladda ner API:t eller installera det med hjälp av följande Maven-konfigurationer.
<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>
Lägg till VBA-makron till en Excel-arbetsbok i Java
Följande är stegen för att lägga till VBA-makro i Excel-filer i Java.
- Ladda först en befintlig arbetsbok eller skapa en ny med klassen Arbetsbok.
- Hämta kalkylbladet till ett Worksheet-objekt med metoden Workbook.getWorksheets().get(index).
- Lägg till en ny VBA-modul med metoden Workbook.getVbaProject().getModules().add(Worksheet).
- Hämta referensen för den nyligen tillagda modulen till VbaModule-objektet.
- Ställ in namn och kod för modulen med metoderna VbaModule.setName() respektive VbaModule.setCodes().
- Spara slutligen arbetsboken med metoden Workbook.save(string, SaveFormat.XLSM).
Följande kodexempel visar hur man lägger till ett VBA-makro i en Excel-fil med Java.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-cells/Aspose.Cells-for-Java
// Ladda Excel-arbetsbok
Workbook workbook = new Workbook("workbook.xlsm");
// Öppna första kalkylbladet
Worksheet worksheet = workbook.getWorksheets().get(0);
// Lägg till VBA-modul
int idx = workbook.getVbaProject().getModules().add(worksheet);
// Gå till VBA-modulen, ställ in dess namn och koder
VbaModule module = workbook.getVbaProject().getModules().get(idx);
module.setName("TestModule");
module.setCodes("Sub ShowMessage()" + "\r\n" + " MsgBox \"Welcome to Aspose!\"" + "\r\n" + "End Sub");
// Spara arbetsboken
workbook.save("output.xlsm", SaveFormat.XLSM);
Ändra VBA-makro i en Excel-arbetsbok i Java
Följande är stegen för att ändra VBA-makro i Excel-filer med Java.
- Ladda först en befintlig arbetsbok med klassen Arbetsbok.
- Hämta VBA-modulsamling i ett VbaModuleCollection-objekt med metoden Workbook.getVbaProject().getModules().
- Hämta varje VBA-modul från samlingen till ett VbaModule objekt iterativt.
- Uppdatera namn och kod för den önskade modulen med metoderna VbaModule.setName() respektive VbaModule.setCodes().
- Spara slutligen arbetsboken med metoden Workbook.save(string, SaveFormat.XLSM).
Följande kodexempel visar hur du ändrar VBA-makrot i en Excel-fil med Java.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-cells/Aspose.Cells-for-Java
// Skapa arbetsboksobjekt från Excel-källfilen
Workbook workbook = new Workbook("sample.xlsm");
// Ändra VBA-modulkoden
VbaModuleCollection modules = workbook.getVbaProject().getModules();
for (int i = 0; i < modules.getCount(); i++) {
VbaModule module = modules.get(i);
String code = module.getCodes();
// Ersätt det ursprungliga meddelandet med det ändrade meddelandet
if (code.contains("This is test message.")) {
code = code.replace("This is test message.", "This is Aspose.Cells message.");
module.setCodes(code);
}
}
// Spara den utgående Excel-filen
workbook.save("output.xlsm");
Skaffa en gratis licens
Du kan använda Aspose.Cells för Java utan utvärderingsbegränsningar med en tillfällig licens. Hämta din nu.
Slutsats
VBA-makron används för att automatisera olika typer av uppgifter i kalkylblad. För att kunna arbeta med VBA-makron programmatiskt behandlade den här artikeln hur man lägger till och ändrar kod i VBA-moduler med Java. Om du vill veta mer kan du utforska dokumentation av Java-kalkylarksmanipulerings-API. Du kan också posta dina frågor eller frågor på vårt forum.
Se även
Tips: Du kanske vill prova Aspose online VBA-makroborttagningsverktyg.