Peter fragte, ob es eine Möglichkeit gibt, beim Start von Excel festzulegen, dass ein bestimmtes Add-In nicht geladen werden soll. Das Add-In, an das er denkt, braucht viel Zeit zum Laden und er braucht es nicht die ganze Zeit. Durch Deaktivieren des Add-Ins kann Excel in den Fällen, in denen es nicht benötigt wird, schneller gestartet werden.

Leider kann wenig getan werden, um Add-Ins beim Start zu deaktivieren, da noch keine bestimmte Arbeitsmappe geöffnet ist. (Die Add-Ins werden vor allen Arbeitsmappen geladen.) Es gibt jedoch einige Dinge, die Sie ausprobieren können.

Das erste ist, dass Sie Ihr eigenes Add-In erstellen können, das nur fragt, ob das große Add-In geladen werden soll oder nicht.

Abhängig von der Antwort des Benutzers kann das Add-In dann mithilfe der folgenden Codezeile geladen werden:

AddIns("Big Add-in").Installed = True

Natürlich müssen Sie „Big Add-In“ durch den Namen des tatsächlich zu ladenden Add-Ins ersetzen. Wenn der Benutzer das Add-In nicht laden möchte, überspringen Sie einfach die Codezeile. Im Close-Ereignis für Ihr kleines Add-In können Sie dann eine Zeile wie die folgende hinzufügen, die das große Add-In entlädt:

AddIns("Big Add-in").Installed = False

Auf diese Weise wird das Add-In nur hinzugefügt, wenn der Benutzer angibt, dass das Hinzufügen in Ordnung ist, und am Ende Ihrer Excel-Sitzung immer entladen.

Ein anderer Ansatz besteht darin, niemals das große Add-In zu laden, sondern eine Routine in Ihre Personal.xls-Datei einzufügen, die dem Benutzer die Möglichkeit gibt, das Add-In zu laden.

Dem Workbook_Open-Ereignis in Personal.xls kann Folgendes hinzugefügt werden:

Private Sub Workbook_Open()

With Application         .OnKey "{TAB}", "InstallMyAddIn"

.OnTime (Now + TimeValue("0:00:05")), "DisableTABProc"

End With End Sub

Der Zweck dieses Makros besteht darin, dem Benutzer eine Zeitspanne (in diesem Fall fünf Sekunden) zum Drücken der Tabulatortaste zu geben, damit das große Add-In geladen wird. Die .OnKey-Methode führt die Installationsroutine aus, wenn die Tabulatortaste gedrückt wird, und die .OnTime-Routine startet einen Timer, der die Deaktivierungsroutine nach Ablauf der fünf Sekunden ausführt. Beachten Sie, dass dieses Makro zwei Routinen aufruft. Diese können in einem regulären Modul für Personal.xls gespeichert werden.

Sub InstallMyAddIn()

AddIns("Big Add-in").Installed = True     DisableTABProc End Sub
Sub DisableTABProc()

Application.OnKey "{TAB}", ""

End Sub

Natürlich müssen Sie Code für das Workbook_Close-Ereignis von Personal.xls hinzufügen, um in diesem Fall das Add-In zu entladen:

Private Sub Workbook_Close()

AddIns("Big Add-in").Installed = False End Sub

Wenn Sie keine Makros verwenden möchten, können Sie das große Add-In jederzeit aus dem Verzeichnis verschieben oder das Add-In umbenennen, bevor Sie Excel starten. Wenn Excel das Add-In nicht finden kann, wird es weiterhin geladen, ohne es zu laden.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (2383) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: