Hallo zusammen,
ich habe beim Wechsel von Office 2003 auf Office 2010 ein Problem mit meiner Update-Routine.
Folgende Ausgangssituation:
Ich habe ein Addin (makros.xlam), dass alle notwendigen Funktionalitäten beinhaltet. Diese liegt lokal auf jedem Rechner, damit die Leute auch lokal arbeiten können. Geht nicht anders. Eine Routine im Addin ist eine Updateroutine, die eine Sub in einer zentral abgelegten Update.XLS oder Update.XLSM aufruft.
Hier der Code, der für das Ersetzen des lokalen Addins bisher erfolgreich verwendet wurde:
AddIns("makros").Installed = False
FileCopy PfadUpdate_str & "makros.xlam", PfadMakro_str & "makros.xlam"
AddIns("makros").Installed = True
1. Verwende ich den o. g. Code in der Makros.xls oder Makros.xlsm steigt die Routine bei AddIns("makros").Installed = False aus. und die Update-Routine wird beendet (ohne Fehlermeldung).
2. Verwende ich den o. g. Code im Addin selbst, bekomme ich einen "Laufzeitfehler 70, Zugriff verweigert".
Die Installed-Eigenschaft des Addins ist aber definitiv false (Haken in Excel-Optionen ist weg und wenn ich die Variable abfrage gibt sie false zurück).
Aufruf der Makro-Update-Routine aus der Makros.xlam sieht so aus:
Application.Run ("K:Update\Makros_update.xlsm()'!Makro_update.Makro_update") oder
Application.Run ("K:Update\Makros_update.xls()'!Makro_update.Makro_update")
Weiss jemand Rat was ich da tun kann?
Das komische ist, wenn o. g. Routine manuell in der Makros_update.xls aufrufe funktioniert es....
Ich versteh leider absolut nicht warum?? Und wichtiger, wie bekomme ich die Routine wieder zum laufen?
Ziel ist es, die vorhandene lokale Makros.xlam durch einen neuen Stand, der auf einem Netzlaufwerk bereitgestellt ist, zu ersetzen.
Vielen Dank schonmal.
Grüße Adleano
|