Créer une mise à jour VBA dans Word Java

Souvent, les documents Word incluent du code Visual Basic pour Applications (VBA) pour automatiser les tâches et améliorer les fonctionnalités du document. Si vous êtes un développeur Java, vous vous demandez peut-être comment interagir avec et modifier le code VBA dans les documents Word. Ainsi, dans cet article de blog, nous explorerons comment créer et modifier du code VBA dans des documents Word dans une application Java.

Bibliothèque Java pour travailler avec VBA dans les documents Word

Aspose.Words for Java est une bibliothèque qui vous permet de créer, de manipuler et de restituer des documents Microsoft Word sans avoir besoin d’installer Microsoft Word. Il offre un large éventail de fonctionnalités pour travailler avec des documents Word, notamment la lecture, l’écriture et la modification de leur contenu. De plus, la bibliothèque vous permet de travailler avec du code VBA intégré dans des documents Word, ce qui peut être extrêmement utile pour automatiser des tâches et ajouter de l’interactivité à vos documents.

Vous pouvez télécharger la bibliothèque ou l’installer en utilisant la configuration maven suivante.

<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>

Créer une macro VBA dans un document Word en Java

Aspose.Words fournit les classes suivantes pour utiliser le code VBA dans les documents Word :

Jetons un coup d’œil aux étapes requises pour créer une macro VBA dans un document Word.

  • Tout d’abord, chargez le document Word ou créez-en un nouveau à l’aide de la classe Document.
  • Ensuite, créez un objet de la classe VbaProject, définissez son nom et attribuez-le au document à l’aide de la méthode setVbaProject().
  • Créez un objet de la classe VbaModule et définissez son nom, son type et son code source.
  • Ajoutez un module au projet à l’aide de la méthode Document.getVbaProject().getModules().add(VbaModule).
  • Enfin, enregistrez le document Word à l’aide de la méthode Document.save().

L’extrait de code suivant montre comment créer un module VBA dans un document Word en Java.

// Pour des exemples complets et des fichiers de données, veuillez vous rendre sur https://github.com/aspose-words/Aspose.Words-for-Java
// Charger le document
Document doc = new Document("document.docm");

// Créer un nouveau projet VBA
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);

// Créez un nouveau module et spécifiez un code source de macro
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");

// Ajouter un module au projet VBA
doc.getVbaProject().getModules().add(module);

// Enregistrer le document
doc.save("updated.docm");

Lire une macro VBA à partir d’un document Word

Vous pouvez accéder et lire les macros VBA existantes à partir d’un document Word. Pour cela, vous devez charger le document et accéder à la collection des modules dans le projet VBA. Vous trouverez ci-dessous les étapes pour lire toutes les macros VBA dans un document Word.

  • Chargez le document Word à l’aide de la classe Document.
  • Accédez à la collection de modules VBA à l’aide de la méthode Document.getVbaProject().getModules().
  • Utilisez la classe VbaModule pour lire chaque module VBA du projet.

L’extrait de code suivant montre comment lire les modules VBA à partir d’un document Word en Java.

// Charger le document
Document doc = new Document("document.docm");

// Lire le code source VBA
for (VbaModule module : doc.getVbaProject().getModules()) {
    System.out.println(module.getSourceCode());
}

Mettre à jour une macro VBA dans un document Word

Si vous avez besoin de mettre à jour le code source ou toute autre information d’un module VBA, vous pouvez le faire sans effort. Accédez simplement au module VBA souhaité dans la collection et modifiez-le si nécessaire. Voici les étapes pour mettre à jour une macro VBA dans un document Word.

  • Tout d’abord, chargez le document Word à l’aide de la classe Document.
  • Accédez à la collection de modules VBA à l’aide de la méthode Document.getVbaProject().getModules().
  • Obtenez la référence de la macro VBA souhaitée dans un objet VbaModule.
  • Mettez à jour le module VBA à l’aide de l’objet VbaModule.

L’exemple de code suivant montre comment mettre à jour une macro VBA dans un document Word à l’aide de Java.

// Pour des exemples complets et des fichiers de données, veuillez vous rendre sur https://github.com/aspose-words/Aspose.Words-for-Java
// Charger le document
Document doc = new Document("document.docm");

// Obtenir la référence du projet VBA
VbaProject project = doc.getVbaProject();

String newSourceCode = "Test change source code";

// Choisissez un module et définissez un nouveau code source
project.getModules().get(0).setSourceCode(newSourceCode);

// Enregistrer le document
doc.save("output.docm");

Cloner du code VBA à partir d’un document Word

Aspose.Words for Java vous permet également de cloner des macros VBA d’un document Word à un autre. Vous pouvez cloner soit un projet VBA complet, soit un module VBA spécifique. Voyons comment copier VBA dans les deux cas.

Cloner un projet VBA à partir d’un document Word

Voici les étapes pour cloner un projet VBA complet dans un document Word.

  • Chargez les documents Word source et cible à l’aide de la classe Document.
  • Appelez la méthode target.setVbaProject(source.getVbaProject().deepClone()) pour cloner le projet VBA de la source au document cible.
  • Enregistrez le document cible à l’aide de la méthode Document.save().

L’extrait de code suivant clone le projet VBA d’un document Word à un autre.

// Charger le document source
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Charger le document cible
Document destDoc = new Document("target.docm");

// Cloner tout le projet
destDoc.setVbaProject(doc.getVbaProject().deepClone());

// Enregistrer le document
destDoc.save("output.docm");

Cloner le module VBA à partir d’un document Word

Voici les étapes pour cloner un module VBA d’un document Word à un autre en Java.

  • Chargez les documents Word source et cible à l’aide de la classe Document.
  • Obtenez le clone du module VBA souhaité dans un objet VbaModule à l’aide de la méthode Document.getVbaProject().getModules().get(string Name).deepClone().
  • Ajoutez le module VBA cloné dans le document cible à l’aide de la méthode target.getVbaProject().getModules().add(VbaModule).
  • Enregistrez le document cible à l’aide de la méthode Document.save().

L’extrait de code suivant montre comment cloner un module VBA d’un document Word à un autre.

// Pour des exemples complets et des fichiers de données, veuillez vous rendre sur https://github.com/aspose-words/Aspose.Words-for-Java

// Charger le document source
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Charger le document cible
Document destDoc = new Document("target.docm");

// Créer un nouveau projet VBA
destDoc.setVbaProject(new VbaProject());

// Cloner un seul module
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);

// Enregistrer le document mis à jour
destDoc.save("output.docm");

Obtenez une licence gratuite

Obtenez une licence temporaire gratuite pour utiliser la bibliothèque Java Word à pleine capacité sans aucune limitation d’évaluation.

Ressources

Vous trouverez ci-dessous quelques liens utiles pour explorer notre bibliothèque de traitement de texte Java :

Conclusion

Aspose.Words for Java fournit une solution puissante et flexible pour créer et modifier du code VBA dans des documents Word à l’aide de Java. Que vous souhaitiez créer des documents interactifs à partir de zéro ou améliorer des documents existants avec la fonctionnalité VBA, cette bibliothèque facilite l’utilisation de documents Word et l’automatisation des tâches.

Dans cet article de blog, nous vous avons fourni un guide étape par étape sur la façon de travailler avec les Marcos VBA dans les documents Word à partir de votre application Java. En installant la bibliothèque et en suivant les instructions, vous pouvez facilement manipuler le code VBA par programme.

Voir également