Wie ruft man ein Makro aus der Apache POI-Bibliothek in Java auf?

8

Ich habe:

  
  • Makro namens "Prozess", der die gesamte Verarbeitung für meine Arbeitsblätter übernimmt.

  •   
  • Ich möchte meinen Java-Code, der Apache POI verwendet, dieses Makro aufrufen, damit es die Blätter für mich verarbeiten kann.

  •   
  • Wie kann ich ein Makro in Apache POI in Java aufrufen?

  •   

:: Hinweis ::

  
  • Ich verwende import org.apache.poi.ss.usermodel in Apache POI.

  •   
  • Bitte geben Sie Beispielcode ein. (Ich bin neu in Apache POI und Java selbst.)

  •   
    
Yugal Jindle 04.08.2011, 07:37
quelle

3 Antworten

10

Ich glaube nicht, dass das möglich ist. POI ist eine Bibliothek zum Lesen / Bearbeiten von Office-Dateien, Makros sind ein ganz anderes Biest. Sie müssten einen Visual Basic für Applikationen-Interpreter in POI implementieren, um dies zu erreichen. Makros, die sich bereits in Ihrer Excel-Arbeitsmappe befinden, bleiben erhalten, Sie können jedoch keine neuen hinzufügen oder vorhandene aufrufen.

    
Jacob 04.08.2011, 07:43
quelle
6

Sie können ein anderes Tool wie com4j verwenden. Ich habe gerade heute einen POC kreiert und funktioniert wie ein Zauber. Befolgen Sie einfach diese Schritte:

  1. Laden Sie die letzte Version hier herunter
  2. Erstellen Sie unter Apache Ant das Beispiel: samples \ excel
  3. Mit dem von tlbimp generierten Code (es ist nur ein Teil von com4j), erstellen Sie eine kleine App und schreiben Sie einen Code wie:

    %Vor%
  4. Weitere Beispiele: com4j Tutorials

Hállisson 26.09.2012 18:25
quelle
4

Ich denke, Sie können nicht.

  

Makros

     

Makros können nicht erstellt werden. Lesen und erneutes Schreiben von Dateien   Makros enthalten wird die Makros sicher beibehalten.

Apache POI-Einschränkungen

    
ksimon 04.08.2011 08:01
quelle

Tags und Links