Hier anmelden!

Willkommen bei Excellent

wo liegt mein Addin?

Beitrag verlinken am 06.03.2010 geschrieben
  • nach oben
Guten Tag allerseits,

ich habe VBA-Code, der von mehreren Anwendungen gemeinsam verwendet wird, in eine xla-Datei ausgelagert. Diese wird durch folgende Funktion installiert:

Sub InstallAddIn(AddInName)
Dim AI As Excel.AddIn

strBasePath = ThisWorkbook.Path
strFileName = strBasePath & "\" & AddInName & ".xla"
Set AI = Application.AddIns.Add(FileName:=strFileName)
AI.Installed = True
End Sub

Das AddIn liegt zunächst im gleichen Verzeichnis wie die Anwendungen, und wird von dort aus (angeblich) im Pfad C:\Dokumente und Einstellungen\Horst Frank\Anwendungsdaten\Microsoft\AddIns installiert.

Doch als ich nun eine Sicherungskopie dieser Datei machen wollte, habe ich festgestellt, dass es diesen Pfad auf meinem Rechner gar nicht gibt. Bei mir gibt es einen Pfad "...\Application Data\Microsoft". Doch darunter gibt es keinen Ordner namens AddIns. Jedenfalls zeigt mir der Explorer keinen solchen an. Auch die Suche nach einer xla-Datei unter "Dokumente und Einstellungen" findet nichts.

Excel aber findet das AddIn. Ich kann darin editieren und es funktioniert einwandfrei (bis auf einige Ungereimtheiten, auf die ich an anderer Stelle zurückkomme).

Die Sache gibt mir noch mehr Rätsel auf: Durch mein Editieren wird ja nicht die ursprüngliche xla-Datei verändert, sondern die installierte Kopie. Da die obige Install-Routine jedesmal durchlaufen wird, das AddIn also immer wieder vom Ursprungsort (wo sich ja ein alter Stand dieser Datei befindet) installiert wird, müssten eigentlich meine Änderungen in der xla-Datei jedesmal durch den alten Stand überschrieben werden. Das ist aber offenbar nicht der Fall.

Derzeit kann ich den VBA-Code aus der xla-Datei nur per Export sichern. Das ist aber keine Lösung, denn wenn ich das gesamte Anwendungspaket auf einen anderen Rechner kopieren will, benötige ich die jeweils aktuelle Kopie dieser xla-Datei.

Ich hoffe, jemand kann mir da weiterhelfen.

Beste Grüsse
Horst
Beitrag verlinken am 08.03.2010 geschrieben
  • nach oben
Als ersten Hinweis, wo das AddIn liegt gebe ich in der Entwicklungsumgebung - nach Auswahl des entsprechenden Projektes - im Debugfenster ein
? thisworkbook.Name"="thisworkbook.Path
Da kommt bei mir bei den einzelnen Addins aber ein bunter Strauß an Verzeichnissen zusammen !

Mit freundlichsten Grüßen

Peter
Beitrag wurde am 08.03.2010 vom Verfasser bearbeitet
Beitrag verlinken am 08.03.2010 geschrieben
  • nach oben
Inzwischen hat sich ergeben: Das AddIn liegt tatsächlich im oben angegebenen Verzeichnis. Der Ordner Anwendungsdaten, und alles was darunter liegt ist aber unsichtbar. Der Explorer bietet an dieser Stelle keine Option, versteckte Dateien sichtbar zu machen. Nur durch Suchen in versteckten Ordnern konnte ich die xla-Datei schließlich doch finden und damit meine Ursprungsdatei wieder auf den aktuellen Stand bringen, so dass ich den Code auch an andere Rechner weitergeben kann. Umständlich, aber Windows-like.

Was das Installieren betrifft, so findet dies offenbar nur einmalig statt. Ansonsten wäre ja mein geänderter xla-Code bei jedem Programmstart durch die alte Version überschrieben worden.

Nun passiert trotzdem etwas Seltsames: Wenn ich die xla-Datei separat für sich öffnen will, erscheint eine Fehlermeldung, dass diese Datei bereits geöffnet sei. Ich solle die erste schließen oder umbenennen. Es ist aber nichts geöffnet. Excel ist noch gar nicht gestartet.

Letzteres ist kein echtes Problem, denn wenn ich ein Projekt öffne, das die xla-Datei referenziert, wird diese mit geöffnet und ich kann sie bearbeiten.
Beitrag verlinken am 08.03.2010 geschrieben
  • nach oben
Hallo Peter,

danke für Deinen Hinweis. Ich habe mir inzwischen überlegt, dass es wohl besser ist, das AddIn nicht in das Default-AddIn-Verzeichnis von Excel installieren zu lassen, sondern es dort zu referenzieren, wo es ohnehin liegt, nämlich im gleichen Verzeichnis wie die Anwendungen. Dann entfällt diese Sucherei und das Rück-Kopieren, weil ja dann Änderungen direkt im Ursprungs-Code erfolgen. Das werde ich mal ausprobieren.

Beste Grüsse

Horst
  • Statistiken: 4 Beiträge | 697 Aufrufe

Hier anmelden

Du bist noch kein Mitglied der Community?

Community-Details

  • Suche nach:

  • Community-Name

    Excellent
    Die Excel-Community von ExcelDaily

  • Dein Gastgeber ist

    Martin Althaus

  • Online seit

    17.03.2008

  • Mitglieder

    450

  • Sprache

    Deutsch

powered by mixxt
  • v1.1.1
  • (highfive)