ich Excel-Spezialisten. Ich suche nach der besten und sichersten Methode in einer VBA-Programmierung mir den Namen eines Workbooks zu "merken". Es geht quasi um eine Frage zu einer generellen "Programmiertechnik"
Die Situation ist die folgende: über Makros aktiviere ich andere Dateien. Wenn ich auf das ursprüngliche Workbook zugreifen möchte, muss ich mindestens dessen Namen wissen. Daher muss ich es mir diesen irgendwie "merken". Doch wie geht das am einfachsten und sichersten? Dazu kommt, dass das Makro nicht immer aufgerufen wird, sondern quasi abhängig von bestimmten Situationen.
Was nicht funktioniert:
* den Namen in eine Zelle eines Tabellenblattes eintragen: da ich in einer anderen Datei bin, kann ich ja auf die Zelle nicht mehr zugreifen
* den Namen in den Dateieigenschaften zu hinterlegen: dito - auch hier kann ich aus einer anderen Datei nicht mehr darauf zugreifen
* den Namen in einer Konstanten zu hinterlegen: die Exceldatei hat immer wieder einen anderen Namen, es muss also variabel gelöst werden
* den VBA-Code anzupassen und dynamisch eine Konstante zu setzen: das VBA Projekt ist geschützt und der Code kann daher nicht dynamisch geändert werden
Was funktionieren würde, mir zu unsicher ist:
* Eintrag des Namens in die Registry: Das Excelprogramm läuft in vielen Dateien auf unterschiedlichen Konstellationen / Installationen und so ist mir ein Eintrag in die Regestry schlicht zu unsicher
* Den Namen des Workbooks in einer globalen Variablen zu hinterlegen, die beim Starten des Workbooks gesetzt wird. Dies dürfte wohl funktionieren, doch nach meiner Erfahrung macht dies ebenfalls Schwierigkeiten - besonders beim Entwickeln: plötzlich ist die Variable dann wieder leer ... :-(
Und nun meine Frage:
Gibt es sonst noch etwas, oder wie löst Ihr ein solches Problem?
Ich bin sehr gespannt auf Eure Antworten.
Grüsse,
kgurr