Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application.AddIns.Add erzeugt Laufzeitfehler 1004

Forumthread: Application.AddIns.Add erzeugt Laufzeitfehler 1004

Application.AddIns.Add erzeugt Laufzeitfehler 1004
16.11.2005 14:49:37
Jogi
Mein Ziel ist, über ein auf jedem Rechner des Netzwerk liegendes Addin automatisch beim Start von Excel weitere Addins aus einem im Netz liegenden Verzeichnis zu laden (=registrieren und aktivieren), in dem die jeweils aktuellsten Versionen liegen und ggfs. auch neue Addins hinzukommen (würde die Administration deutlich erleichtern, da so die Bereitsstellung von Neuerungen durch ein Kopieren in das Netzverzeichnis erledigt ist.
Das ladende Addin liegt im Verzeichnis ...\office11\XLStart und wird so bei jedem Start geladen. Bislang sieht der Code folgendermaßen aus:

Private Sub Workbook_Open()
Dim StartUpFolder As String
Dim AktAddinName As String
Dim AktAddin As AddIn
' Laden der erforderlichen Addins vom Programmserver
StartUpFolder = "w:\winnt\ms_office\excel\startup\"
AktAddinName = Dir(StartUpFolder & "*.xla")
Do While AktAddinName <> ""
Set AktAddin = Application.AddIns.Add(WGZStartUpFolder & AktAddinName, False)
AktAddin.Installed = True
AktAddinName = Dir
Loop
End Sub

Das funktioniert auch soweit wie gewünscht, wenn zuerst Excel gestartet und erst anschließend eine Datei geöffnet wird. Beim Öffnen einer vorhandenen Excel-Datei per Doppelklick im Explorer alledings erscheint die Fehlermeldung "Laufzeitfehler '1004': Die Add-Methode des AddIns-Objektes konnte nicht ausgeführt werden". Öffnet man den Debugger, wird die Zeile "Set AktAddin = Application.AddIns.Add(WGZStartUpFolder & AktAddinName, False)" als die fehlerauslösende ersichtlich.
Hat jemand eine Idee, woran es liegen und wie eine Lösung aussehen könnte?
Das ganze findet übrigens in Excel 2003 unter Windows XP SP2 statt.
Herzlichen Dank im voraus!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.AddIns.Add erzeugt Laufzeitfehler 1004
16.11.2005 18:38:14
Nepumuk
Hallo Jogi,
ich würde eine andere Methode verwenden. Setze in der Mappe Verweise auf die Addins. Die werden damit automatisch ohne irgendwelchen Code geladen. Du musst nur die Projektnamen ändern, da Projekte mit dem selben Namen nicht aufeinander verweisen können.
Gruß
Nepumuk

Anzeige
AW: Application.AddIns.Add erzeugt Laufzeitfehler 1004
17.11.2005 19:21:25
Jogi
Hallo Nepumuk,
danke für Deine Unterstützung. Leider würde die Verweis-Lösung bedeuten, dass beim Hinzufügen von zu ladenden Addins es nicht reicht, sie in dem Ordner abzulegen, sondern jeweils auch die auf den einzelnen Rechnern abgelegte Mappe geändert (=Verweis hinzufügen) werden müßte
Inzwischen habe ich nun folgende Lösung gefunden: den Code zum Laden der Addins in eine eigene Prozedur packen und im Workbook_open-eventhandler nur mit .OnTime einen Timer zum zeitversetzten Aufruf der Prozedur ablegen:

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:01"), "LadeAddins"
End Sub

Gruß, Jogi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler 1004 in Excel Add-Ins beheben


Schritt-für-Schritt-Anleitung

Um den Laufzeitfehler 1004 beim Hinzufügen von Add-Ins in Excel zu beheben, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel, indem du ALT + F11 drückst.

  2. Navigiere zu deinem Workbook im Projektfenster.

  3. Füge den folgenden Code in das ThisWorkbook Modul ein:

    Private Sub Workbook_Open()
       Dim StartUpFolder As String
       Dim AktAddinName As String
       Dim AktAddin As AddIn
       ' Lade die erforderlichen Addins vom Programmserver
       StartUpFolder = "w:\winnt\ms_office\excel\startup\"
       AktAddinName = Dir(StartUpFolder & "*.xla")
       Do While AktAddinName <> ""
           Set AktAddin = Application.AddIns.Add(StartUpFolder & AktAddinName, False)
           AktAddin.Installed = True
           AktAddinName = Dir
       Loop
    End Sub
  4. Testen: Starte Excel und öffne eine Datei, um zu prüfen, ob der Fehler auftritt.

  5. Verwende einen Timer, um den Code zeitversetzt auszuführen, falls der Fehler weiterhin auftritt:

    Private Sub Workbook_Open()
       Application.OnTime Now + TimeValue("00:00:01"), "LadeAddins"
    End Sub

Häufige Fehler und Lösungen

  • Fehler 1004 beim Doppelklick auf eine Datei: Dieser Fehler tritt auf, wenn Excel versucht, die Add-Ins zu laden, während eine Datei geöffnet wird. Die Lösung besteht darin, den Ladeprozess zu verzögern, wie im vorherigen Abschnitt beschrieben.

  • Falscher Pfad: Stelle sicher, dass der Pfad zu den Add-Ins korrekt ist. Überprüfe die Variable StartUpFolder, um sicherzustellen, dass sie auf das richtige Verzeichnis verweist.

  • Add-Ins nicht installiert: Wenn das Add-In nicht installiert ist, stelle sicher, dass der Code das Add-In korrekt hinzufügt und die Installed-Eigenschaft auf True setzt.


Alternative Methoden

Eine alternative Methode besteht darin, die Verweise auf die Add-Ins direkt in der Excel-Arbeitsmappe einzustellen. Hierzu:

  1. Gehe zu Entwicklertools > Verweise.
  2. Füge die benötigten Add-Ins hinzu.
  3. Damit werden die Add-Ins automatisch geladen, wenn die Arbeitsmappe geöffnet wird, ohne dass zusätzlicher Code erforderlich ist.

Diese Methode hat den Vorteil, dass du keine VBA-Programmierung benötigst, allerdings musst du die Verweise bei neuen Add-Ins manuell aktualisieren.


Praktische Beispiele

Hier ist ein Beispiel für einen einfachen Code, um Add-Ins zu laden:

Sub LadeAddins()
    Dim StartUpFolder As String
    StartUpFolder = "w:\winnt\ms_office\excel\startup\"
    ' Beispiel für das Laden eines spezifischen Add-Ins
    Application.AddIns.Add(StartUpFolder & "MeinAddIn.xla", False).Installed = True
End Sub

Mit dieser Prozedur kannst du gezielt ein Add-In laden. Achte darauf, dass der Pfad korrekt ist und das Add-In existiert.


Tipps für Profis

  • Verwende Application.OnTime: Dies hilft, die Ausführung des Codes zu verzögern, was oft hilfreich ist, um Fehler zu vermeiden.
  • Automatisiere das Laden von Add-Ins: Du kannst die Prozedur so anpassen, dass sie alle Add-Ins im Startup-Ordner automatisch lädt.
  • Debugging: Nutze den Debugger in VBA, um genau zu sehen, wo der Fehler auftritt. Setze Haltepunkte, um den Code Schritt für Schritt zu durchlaufen.

FAQ: Häufige Fragen

1. Warum tritt der Fehler 1004 auf?
Der Fehler tritt auf, wenn Excel versucht, ein Add-In zu laden, während eine Datei geöffnet wird, oder wenn der Pfad zu dem Add-In nicht korrekt ist.

2. Wie kann ich sicherstellen, dass meine Add-Ins automatisch geladen werden?
Du kannst die Add-Ins entweder über VBA im Workbook_Open-Event oder direkt über die Excel-Verweise laden.

3. Gibt es eine Möglichkeit, mehrere Add-Ins gleichzeitig zu laden?
Ja, indem du eine Schleife über alle Add-Ins im Startup-Ordner implementierst, kannst du mehrere Add-Ins gleichzeitig laden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige