Option Explicit
Public Sub InstallAddIn()
Dim VBE As Object
Dim wbs As Range
Dim wb As Workbook
Dim Verweisname As String
Verweisname = "VBAProject"
Set wb = ThisWorkbook
'liest den Pfad des Addins aus dem Worksheet
Set wbs = wb.Worksheets("Datenfluss").Range("B27")
'existiert diese Datei ?
If Dir(wbs) "" Then
'ja, dann alten Verweis entfernen
RemoveReferenceInProject
'dann Verweis setzen
AddIns.Add filename:=wbs, CopyFile:=False
Set VBE = Application.VBE.ActiveVBProject
VBE.References.AddFromFile wbs
Else
'Nein, dann entsprechender Hinweis
MsgBox "Die Datei " & wbs & _
" wurde nicht gefunden !"
End If
End Sub
'Entfernt die alte Referenz
Public Sub RemoveReferenceInProject()
Dim objVBE As Object
Dim oRef As Object
On Error Resume Next
Set objVBE = ActiveWorkbook.VBProject.References
For Each oRef In objVBE
If UCase(oRef.Name) = UCase("VBAProject") Then
objVBE.Remove objVBE(oRef.Name)
Exit For
End If
Next
Set objVBE = Nothing
On Error GoTo 0
End Sub