# Schnittstelle zu ms-COM (excel,outlook,...) via groovy

**URL:** <https://forum.metasfresh.org/t/schnittstelle-zu-ms-com-excel-outlook-via-groovy/98>\
**Category:** Developers\
**Tags:** deutsch\
**Created:** [December 1, 2016, 1:46pm UTC](https://forum.metasfresh.org/t/schnittstelle-zu-ms-com-excel-outlook-via-groovy/98 "2016-12-01T13:46:50Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![homebeaver](https://forum.metasfresh.org/user_avatar/forum.metasfresh.org/homebeaver/32/545_2.png) [@homebeaver](https://forum.metasfresh.org/u/homebeaver)\
**Post date:** [December 1, 2016, 1:46pm UTC](https://forum.metasfresh.org/t/schnittstelle-zu-ms-com-excel-outlook-via-groovy/98/1 "2016-12-01T13:46:50Z")

</div>

Es freut mich, dass groovy wieder unterstützt wird, siehe [groovy-callouts-in-metasfresh](https://forum.metasfresh.org/t/groovy-callouts-in-metasfresh/81). In unserem heutigem Gespräch mit @metasnw habe ich zugesagt, die Schnittstelle zu ms-COM zu beschreiben. Als Beispiel nehme ich das Datenblatt (excel) mit Endkundendaten, das per Knopfdruck oder Callout erzeugt werden kann. Zunächst die Architektur als Skizze:  
 ![](https://forum.metasfresh.org/uploads/default/original/1X/d2e79f42c5fcb60e8309c22cb6b95e2968e88eab.PNG)

- links die groovy engine, beispielsweise in mf swingUI

- sie wird etwa beim Callout gestartet und interpretiert ein Skript, das aus Tabelle `ad_rule` geladen wird

- dh. die notwendigen Komponenten werden zur Laufzeit benötigt

- im script steht `import org.codehaus.groovy.scriptom.ActiveXObject` - diese Klasse bildet die api zwischen groovy und [jacob (JAva-COM Bridge)](http://danadler.com/jacob/) und wird im `scriptom.jar` vom groovy Anbieter codehaus bereitgestellt

- beide jars werden also zu Laufzeit geladen und von groovy angebunden

- dazu muss das build in metasfresh erweitert werden, z.B. in `metasfresh\de.metas.adempiere.adempiere\client\pom.xml`:

- PS: die früheren jacob versionen hatten einen anderen Herausgeber` jacob-1.14.3.jar : net.sf.jacob-project`

- um auf die COM-Komponenten von Windows zuzugreifen werden schliesslich noch zwei [dlls aus der Java Desktop Integration](https://en.wikipedia.org/wiki/Java_Desktop_Integration_Components) benötigt `jdic.dll` und `tray.dll` : wie man die per maven definiert ist mir nicht klar (das können die metas-maven-Experten sicher ✌). So etwa habe ich es mir gedacht:

> ```
> <dependency>
> <groupId>com.hynnet</groupId>
> <artifactId>jacob</artifactId>
> <version>1.18</version>
> <classifier>x86</classifier>
> <type>dll</type>
> <scope>runtime</scope>
> </dependency>
> <dependency>
> <groupId>com.hynnet</groupId>
> <artifactId>jacob</artifactId>
> <version>1.18</version>
> <classifier>x64</classifier>
> <type>dll</type>
> <scope>runtime</scope>
> </dependency>
> 
> ```

Liebe metas-Kollegen, gerne stelle ich Euch für Testzwecke ein groovy-Skript zur Verfügung.  
Erstmal warte ich auf die nächste mf-Version mit groovy.  
Gruß

---

_[View the full topic](https://forum.metasfresh.org/t/schnittstelle-zu-ms-com-excel-outlook-via-groovy/98)._
