Forum: PC-Programmierung Excel-Datei mit Makros aus Code erzeugen


von Ampfing (Gast)


Lesenswert?

Hallo zusammen,

ich suche derzeit nach einer Möglichkeit codegesteuert eine Excel-Datei 
zu erzeugen. Problem an der Sache ist, dass diese Excel-Datei auch 
VBA-Code enthalten soll/muss.
In Sachen Programmiersprache bin ich nicht festgelegt, auch wenn mir C++ 
bzw. Java am Liebsten wären.

Für Java habe ich bisher Apache POI (http://poi.apache.org/index.html) 
und JExcelApi (http://jexcelapi.sourceforge.net/) gefunden. Mit POI ist 
es auch recht einfach die Datei zu erzeugen, aber leider ist es nicht 
möglich VBA-Code einzubinden (laut 
http://poi.apache.org/spreadsheet/limitations.html), die JExcelApi 
entfernt sogar jegliche Makros 
(http://www.andykhan.com/jexcelapi/tutorial.html - nach 'macros' 
suchen).

Deswegen also die Frage ob jemand eine Bibliothek kennt, die 
Excel-Dateien erzeugen kann und es erlaubt VBA-Code zu dieser 
hinzuzufügen.

Danke vorab und viele Grüße

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die "offizielle" Vorgehensweise wäre die Verwendung der 
Automationsschnittstelle von Excel, darüber lassen sich Excel-Dokumente 
erzeugen, Inhalte in diese einfügen und auch VBA-Code in selbige 
injizieren.

Diese Vorgehensweise hat den Vorteil, daß sie versionsübergreifend* 
funktioniert und man sich nicht mit den undokumentierten Details des 
Excel-Dateiformates auseinandersetzen muss.

*) halbwegs. Natürlich unterscheidet sich die Schnittstelle zwischen 
Excel 95 und Excel 2010, aber da ist mehr kompatibel als beispielsweise 
bei der Benutzeroberfläche.

von Gill Bates (Gast)


Lesenswert?

Die erste Anlaufstelle wäre für mich Codeplex - da sollte es alles 
geben, was Du brauchst.

http://www.codeplex.com/site/search?query=Excel

von asdsdfsdf (Gast)


Lesenswert?

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel%28v=office.11%29.aspx

makros musst du leider sehr umstaendlich einfuegen:

entweder als const string hart codieren oder aus einer datei einlesen, 
dann datei erzeugen und in das workbook einfuegen.

von Ampfing (Gast)


Lesenswert?

Super, vielen Dank für die Tipps - wusste doch, dass es da noch mehr 
geben muss.
Werde dann mal weiter lesen.

Viele Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.