Crea l'aggiornamento VBA in Word Java

Spesso i documenti Word includono codice Visual Basic for Applications (VBA) per automatizzare le attività e migliorare la funzionalità del documento. Se sei uno sviluppatore Java, potresti chiederti come interagire e modificare il codice VBA nei documenti Word. Pertanto, in questo post del blog esploreremo come creare e modificare il codice VBA nei documenti Word in un’applicazione Java.

Libreria Java per lavorare con VBA nei documenti Word

Aspose.Words for Java è una libreria che consente di creare, manipolare ed eseguire il rendering di documenti Microsoft Word senza la necessità di avere Microsoft Word installato. Fornisce un’ampia gamma di funzionalità per lavorare con documenti Word, inclusa la lettura, la scrittura e la modifica del loro contenuto. Inoltre, la libreria ti consente di lavorare con il codice VBA incorporato nei documenti Word, che può essere estremamente utile per automatizzare le attività e aggiungere interattività ai tuoi documenti.

È possibile scaricare la libreria o installarla utilizzando la seguente configurazione 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-words</artifactId>
    <version>23.8</version>
    <classifier>jdk17</classifier>
</dependency>

Crea macro VBA in un documento Word in Java

Aspose.Words fornisce le seguenti classi per lavorare con il codice VBA nei documenti Word:

Diamo un’occhiata ai passaggi necessari per creare una macro VBA in un documento Word.

  • Innanzitutto, carica il documento Word o creane uno nuovo utilizzando la classe Document.
  • Quindi, crea un oggetto della classe VbaProject, impostane il nome e assegnalo al documento utilizzando il metodo setVbaProject().
  • Crea un oggetto della classe VbaModule e impostane il nome, il tipo e il codice sorgente.
  • Aggiungi il modulo al progetto utilizzando il metodo Document.getVbaProject().getModules().add(VbaModule).
  • Infine, salva il documento di Word utilizzando il metodo Document.save().

Il seguente frammento di codice mostra come creare un modulo VBA in un documento Word in Java.

// Per esempi completi e file di dati, visitare https://github.com/aspose-words/Aspose.Words-for-Java
// Carica documento
Document doc = new Document("document.docm");

// Crea un nuovo progetto VBA
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);

// Crea un nuovo modulo e specifica un codice sorgente macro
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");

// Aggiungi modulo al progetto VBA
doc.getVbaProject().getModules().add(module);

// Salva documento
doc.save("updated.docm");

Leggere una macro VBA da un documento Word

È possibile accedere e leggere le macro VBA esistenti da un documento di Word. Per fare ciò, è necessario caricare il documento e accedere alla raccolta dei moduli nel progetto VBA. Di seguito sono riportati i passaggi per leggere tutte le macro VBA in un documento Word.

  • Carica il documento Word utilizzando la classe Document.
  • Accedi alla raccolta di moduli VBA utilizzando il metodo Document.getVbaProject().getModules().
  • Utilizza la classe VbaModule per leggere ogni modulo VBA nel progetto.

Il seguente frammento di codice mostra come leggere i moduli VBA da un documento Word in Java.

// Carica documento
Document doc = new Document("document.docm");

// Leggere il codice sorgente VBA
for (VbaModule module : doc.getVbaProject().getModules()) {
    System.out.println(module.getSourceCode());
}

Aggiorna una macro VBA in un documento di Word

Nel caso in cui sia necessario aggiornare il codice sorgente o qualsiasi altra informazione di un modulo VBA, puoi farlo senza sforzo. Basta accedere al modulo VBA desiderato dalla raccolta e modificarlo secondo necessità. Di seguito sono riportati i passaggi per aggiornare una macro VBA in un documento di Word.

  • Innanzitutto, carica il documento Word utilizzando la classe Document.
  • Accedi alla raccolta di moduli VBA utilizzando il metodo Document.getVbaProject().getModules().
  • Ottieni il riferimento della macro VBA desiderata in un oggetto VbaModule.
  • Aggiorna il modulo VBA utilizzando l’oggetto VbaModule.

Il seguente esempio di codice mostra come aggiornare una macro VBA in un documento Word utilizzando Java.

// Per esempi completi e file di dati, visitare https://github.com/aspose-words/Aspose.Words-for-Java
// Carica documento
Document doc = new Document("document.docm");

// Ottieni riferimento al progetto VBA
VbaProject project = doc.getVbaProject();

String newSourceCode = "Test change source code";

// Scegli un modulo e imposta un nuovo codice sorgente
project.getModules().get(0).setSourceCode(newSourceCode);

// Salva documento
doc.save("output.docm");

Clona codice VBA da un documento Word

Aspose.Words for Java ti consente anche di clonare macro VBA da un documento Word a un altro. Puoi clonare un progetto VBA completo o un modulo VBA specifico. Diamo un’occhiata a come copiare VBA in entrambi i casi.

Clona progetto VBA da un documento Word

Ecco i passaggi per clonare un progetto VBA completo in un documento Word.

  • Carica documenti Word di origine e di destinazione utilizzando la classe Document.
  • Chiama il metodo target.setVbaProject(source.getVbaProject().deepClone()) per clonare il progetto VBA dal documento di origine al documento di destinazione.
  • Salva il documento di destinazione utilizzando il metodo Document.save().

Il seguente frammento di codice clona il progetto VBA da un documento Word a un altro.

// Carica documento di origine
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Carica il documento di destinazione
Document destDoc = new Document("target.docm");

// Clona l'intero progetto
destDoc.setVbaProject(doc.getVbaProject().deepClone());

// Salva documento
destDoc.save("output.docm");

Clonare il modulo VBA da un documento Word

Di seguito sono riportati i passaggi per clonare un modulo VBA da un documento Word a un altro in Java.

  • Carica documenti Word di origine e di destinazione utilizzando la classe Document.
  • Ottieni il clone del modulo VBA desiderato in un oggetto VbaModule utilizzando il metodo Document.getVbaProject().getModules().get(string Name).deepClone().
  • Aggiungi il modulo VBA clonato nel documento di destinazione utilizzando il metodo target.getVbaProject().getModules().add(VbaModule).
  • Salva il documento di destinazione utilizzando il metodo Document.save().

Il seguente frammento di codice mostra come clonare un modulo VBA da un documento Word a un altro.

// Per esempi completi e file di dati, visitare https://github.com/aspose-words/Aspose.Words-for-Java

// Carica documento di origine
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Carica il documento di destinazione
Document destDoc = new Document("target.docm");

// Crea un nuovo progetto VBA
destDoc.setVbaProject(new VbaProject());

// Clonare un singolo modulo
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);

// Salva documento aggiornato
destDoc.save("output.docm");

Ottieni una licenza gratuita

Ottieni una licenza temporanea gratuita per utilizzare la libreria Java Word al massimo delle sue capacità senza limitazioni di valutazione.

Risorse

Di seguito sono riportati alcuni collegamenti utili per esplorare la nostra libreria di elaborazione testi Java:

Conclusione

Aspose.Words for Java fornisce una soluzione potente e flessibile per creare e modificare il codice VBA nei documenti Word utilizzando Java. Sia che tu voglia creare documenti interattivi da zero o migliorare quelli esistenti con funzionalità VBA, questa libreria semplifica il lavoro con documenti Word e automatizza le attività.

In questo post del blog ti abbiamo fornito una guida passo passo su come lavorare con le strutture VBA nei documenti Word dall’interno della tua applicazione Java. Installando la libreria e seguendo le linee guida, puoi facilmente manipolare il codice VBA a livello di codice.

Guarda anche