Add-In als Verweis in Excel einrichten
Schritt-für-Schritt-Anleitung
-
Add-In vorbereiten: Stelle sicher, dass dein vba xlam
Add-In an einem zugänglichen Ort auf deinem Laufwerk gespeichert ist.
-
Zugriff auf das VBA-Projekt aktivieren: Öffne Excel und gehe zum Trust-Center. Aktiviere die Option "Zugriff auf das VBA-Projekt vertrauen". Dies ist notwendig, um Verweise per VBA hinzuzufügen.
-
Add-In als Verweis hinzufügen: Verwende im Workbook_Open()
-Ereignis den folgenden Code, um das Add-In zu aktivieren:
Private Sub Workbook_Open()
Dim addinPath As String
addinPath = "H:\...\meinAddin.xlam"
If Not IsAddInLoaded(addinPath) Then
Application.VBE.ActiveVBProject.References.AddFromFile addinPath
End If
Application.Run "InitMyWorkbook" ' Initialisierungsroutine aufrufen
End Sub
Function IsAddInLoaded(addinPath As String) As Boolean
Dim ref As Reference
For Each ref In Application.VBE.ActiveVBProject.References
If ref.FullPath = addinPath Then
IsAddInLoaded = True
Exit Function
End If
Next ref
IsAddInLoaded = False
End Function
-
Initialisierungsroutine im Add-In: Stelle sicher, dass die Routine InitMyWorkbook
im Add-In definiert ist, damit du sie erfolgreich aufrufen kannst.
Häufige Fehler und Lösungen
-
Compilerfehler: Wenn du beim Aufruf von InitMyWorkbook
einen Compilerfehler erhältst, könnte das daran liegen, dass der Verweis auf das Add-In noch nicht aktiviert ist. Stelle sicher, dass du den Code zur Aktivierung des Verweises korrekt implementiert hast.
-
Add-In nicht gefunden: Prüfe den Pfad des Add-Ins. Vergewissere dich, dass die vba xlam
-Datei tatsächlich am angegebenen Ort vorhanden ist.
Alternative Methoden
Anstatt das Add-In als Verweis zu installieren, kannst du es auch wie eine normale Excel-Arbeitsmappe öffnen. Das hat den Vorteil, dass du dir die Verwaltung der Verweise sparen kannst:
Public myAddIn As Workbook
Private Sub Workbook_Open()
On Error Resume Next
Set myAddIn = Workbooks("meinAddin.xlam")
On Error GoTo 0
If myAddIn Is Nothing Then
Set myAddIn = Workbooks.Open("H:\...\meinAddin.xlam", , False)
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
myAddIn.Close False
Set myAddIn = Nothing
End Sub
Praktische Beispiele
Wenn du beispielsweise Menüeinträge im Add-In hinzufügen möchtest, kannst du dies so durchführen:
Sub AddMenuEntry()
Dim ctrl As CommandBarControl
Set ctrl = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlButton, Temporary:=True)
ctrl.Caption = "Export Sheet"
ctrl.OnAction = "ExportSheetToFile" ' Aufruf der Prozedur im Add-In
End Sub
Tipps für Profis
-
Verwende Application.Run: Mit dieser Methode kannst du Prozeduren in deinem vba addin
aufrufen, ohne dass eine direkte Referenz benötigt wird. Dies ist besonders nützlich, wenn du viele Add-Ins verwaltest.
-
Code zentralisieren: Halte den Code in deinem Add-In zentral, um die Wartung zu erleichtern. Dadurch sparst du dir das wiederholte Kopieren von Code in mehrere Arbeitsmappen.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass mein Add-In korrekt geladen wird?
Verwende die Funktion IsAddInLoaded
, um zu überprüfen, ob das Add-In bereits aktiv ist, bevor du versuchst, es hinzuzufügen.
2. Kann ich die Schaltflächen in einer xlsm-Datei mit einem Makro verknüpfen?
Ja, du kannst die OnAction
-Eigenschaft der Schaltflächen verwenden, um Prozeduren in deinem Add-In aufzurufen. Stelle sicher, dass die Prozedur im Add-In definiert ist.