Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1276to1280
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Addin per Code ersetzen

Addin per Code ersetzen
Adleano
Hallo zusammen,
ich komme bei einer Updateroutine nicht weiter, die ich geschrieben habe. Folgende Situation:
Die Programmlogik des Tools ist in der Datei makros.xlam als Addin abgelegt. Dieses Addin ist auch "installiert." und liegt als Datei in einem Ordner auf Laufwerk C:\ (also lokal). Das Addin hat auch eine eigene Ribbon-Bar. Ein Menüpunkt darin ist "Makros aktualisieren".
Bei Aufruf dieses Menüpunkts wird folgende Sub aufgerufen:

Sub MakroUpdate(control As IRibbonControl)
Application.Run ("'T:\ExcelTool\Makros_update.xls'!Makro_update.Makro_update")
End Sub

Das aufgerufene Makro in der Makro_update.xls deinstalliert das Addin, allerdings dazu führt, dass das Makro an genau der Stelle beendet wird und die weitere Verarbeitung somit abgebrochen wird.
Hier der Codeausschnitt dazu:

For i = 1 To AddIns.Count
if AddIns(i).name = "makros.xlam" Then
AddIns("makros").Installed = False                                                     ' _
Makros.xlam Addin deinstallieren
End If
Next i

Ich hatte auch schon versucht, im Addin (makros.xlam) über die Auto_Remove Methode das ganze zu steuern:

Sub MakroUpdate(control As IRibbonControl)
AddIns("makros").Installed = False
End Sub
Sub Auto_Remove()
Application.Run ("'T:\ExcelTool\Makros_update.xls'!Makro_update.Makro_update")
End Sub

Allerdings läuft dieser Versuch auf einen Laufzeitfehler 91 (Objektvariable oder With-Blockvariable nicht festgelegt). Klingt für mich (leider!) auch plausibel, da das Addin zu dem Zeitpunkt vermutlich schon weg ist.
Weiss jemand Rat? Ohne eine Updateroutine gehts bei uns nicht, da es zu viele Rechner sind als sie jedesmal abzulaufen.
Vielen Dank schonmal.
Grüße
Adleano

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Addin per Code ersetzen
03.09.2012 15:29:25
fcs
Hallo Adeleano,
wenn der Dateiname von neuer und alter AddIn-Datei identisch ist, dann reicht es eigentlich:
1. Excel schliessen
2. Neue xlam-Datei in das gleiche Verzeichnis kopieren, in dem sich die alte befindet. Also Datei überschreiben.
3. Excel neu starten
Evtl. kann man das ja den Anwendern vermitteln und das Update per E-Mail abfahren. ggf. in Verbindung mit einem kleinen VB-Script, dass das Update erledigt und eine Info-Mail absetzt, dass das Update erfolgreich installiert wurde
Bei Rechnern im Netzwerk müßte das auch per zentralem Update mit einer kleinen Installationsroutine funktionieren - IT-Admin konsultieren.
Gruß
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige