Laden...

Wie ein VSTO AddIn für Excel erstellen, das den Funktionsumfang von Excel erweitert

Erstellt von Christel vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.232 Views
C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 7 Jahren
Wie ein VSTO AddIn für Excel erstellen, das den Funktionsumfang von Excel erweitert

Hallo,
ich möchte gern ein VSTO AddIn für Excel erstellen, das den Funktionsumfang von Excel erweitert. Es geht um die Art Funktionen, die man in den Zellen des Excel-Dokuments mittels =XXX(...) benutzen kann.

Ich weiß, dass man solche Excelfunktionen mittels XLL-Erweiterungen implementieren kann. Aus diversen firmeninternen Gründen soll die Implementation aber mittels VSTO passieren.

Ich habe schon Excel AddIns mittels VSTO implementiert, deren Aktivitäten aber immer auf der Basis Ribbons und darin befindlicher Buttons funktionierten.

Nun interessiert mich, ob man die gewünscht Funktionalität auch elegant mit VSTO umsetzen kann. Klar, man könnte das Worksheet.Change-Event abonieren und dann schauen, ob sich in der Zelle ein Ausdruck der Form =XXX(...) befindet und diesen individuell parsen. Ich habe aber noch Hoffnung, dass es eine elegantere Art und Weise gibt und VSTO eine vorgefertigte Lösung anbietet. Meine Recherche im Forum, im Netz und in der vorhandenen Literatur waren nicht hilfreich.

Ich arbeite mit VS2015 Professional und Excel 2013.

Danke
Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

1.029 Beiträge seit 2010
vor 7 Jahren

Hi,

wenn man Google glaubt geht das nur über Umwege:
How to easily create an Excel UDF with VSTO Add-in project

Ich vermute einzig mit VSTO kommst du nicht an's Ziel.

LG

W
872 Beiträge seit 2005
vor 7 Jahren

Wenn es irgendwie geht, würde ich ExcelDNA nehmen. Das ist wirklich super gemacht und auch klasse paketiert.
Ansonsten musst Du ganz klassisch eine COM Schnittstelle implementieren. Dazu muss man eine GUID registrieren, die DLL COM sichbar machen und mit regasm.exe registrieren.
Schau Dir dazu die Vorschau zu diesem Buch an.
Bei den ganzen Excel-Geschichten ist das Deployment im Zweifel immer komplizierter als die Umsetzung.

C
Christel Themenstarter:in
448 Beiträge seit 2007
vor 7 Jahren

Zunächst vielen Dank.

Ich habe auch noch weiter recherchiert und verstanden, dass VSTO diese UDF-Funktionalität nicht anbietet. Das ist schade, denn die Vorgabe innerhalb der Firma war, dass einheitliche Werkzeuge verwendet werden sollen. Aber das muss man halt akzeptieren. Immerhin gibt es einem die Möglichkeit, sich für das passende Alternativprodukt zu entscheiden.

Über Excel DNA bin ich dabei auch gestolpert und werde mich mal einlesen.
Ich habe verstanden, es sind diese VS-Projekte, die dann eine *.XLL erzeugen?
OK, ich werde es auf diesem Weg versuchen.

Danke
Christel

Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.

W
872 Beiträge seit 2005
vor 7 Jahren

Bei mir ist es schon einige Jahre her, daß ich mich damit beschäftigt habe.
Ich hatte damals auch Mail-Kontakt mit dem Erfinder.
Im Endeffekt stellt Dir ExcelDNA den C++ Code zur Verfügung, damit Du in C# die C++ API nutzen kannst. Da das ganze mit Code Annotations funktioniert, musst Du selber gar nicht wissen, was xll ist und wie es funktioniert.