Erstellen Sie eine gemeinsam genutzte Bibliothek mit VBA-Funktionen in Excel

1441
Nils Tiebos

In unserem Unternehmen haben wir viele verschiedene Excel-Dateien, um unsere Projekte zu verfolgen. In diesen Dateien möchten wir einige VBA-Funktionen implementieren, die von uns, der IT-Abteilung, geschrieben wurden. Wir möchten, dass wir die Funktionen schreiben und sie dann in einer Art zentraler Bibliothek auf dem Server ablegen können, damit die Benutzer sie in allen vorhandenen und zukünftigen Excel-Dateien verwenden können, ohne über Excel-Kenntnisse zu verfügen.
Im Idealfall würden sie diese Funktionen genauso verwenden, wie sie jetzt die vorhandenen Excel-Funktionen wie Sum (), Avg (), Dayofweek (), ... verwenden. Sie geben also einfach eine Zelle = VBAFunction1 () ein, und die Funktion wird verwendet.

Gibt es eine Möglichkeit, dies zu zentralisieren, oder müssen wir jede Funktion in den VBA-Abschnitt jedes Excel-Arbeitsblatts kopieren?

2

1 Antwort auf die Frage

2
duDE

Sie können Ihre Bibliothek als COM-DLL in C #, VB.NET oder älterer VB schreiben. Diese Bibliothek muss regsvr32bei allen VBA / VBScripts wie folgt registriert werden und kann verwendet werden:

Dim oLib : Set oLib = CreateObject( "myLib.myInterface" ) 

Dabei ist myLib der Name Ihrer myLib.dll.

Wenn Sie dies auf diese Weise tun, können die Funktionen im Popup-Fenster mit den vorgeschlagenen Funktionen verfügbar sein. Oder hängt das ganz von "Public" ab und von was? Raystafarian vor 8 Jahren 0
@Raystafarian: Alle Funktionen der DLL stehen über die selbst definierten Schnittstellen zur Verfügung: https://msdn.microsoft.com/de-de/library/office/bb687915.aspx duDE vor 8 Jahren 1