Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
624to628
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
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zugriff auf Konstanten in anderem Modul

Zugriff auf Konstanten in anderem Modul
21.06.2005 15:37:34
Martin
Hallo zusammen,
konnte folgendes Problem nicht durch Recherche lösen:
Ich möchte aus alten XLS-Dateien mit VB-Programmen Daten übernehmen. In jedem VBA-Programm gibt es eine Konstante auf Modul-Ebene mit der Versions-Nummer.
z.B.
Const myVersion = "V7b"
Ich möchte diese Konstante auslesen, um auf Versionsunterschiede reagieren zu können. Die Module heissen in allen Varianten gleich ("Modul1").
Der einfachste Ansatz:
Dim WBnew As Workbook, WBold As Workbook
Set WBnew = ActiveWorkbook ' MyVersion = "V8"
NewVersion = MyVersion
Workbooks.Open "test.xls", False, True
Set WBold = ActiveWorkbook ' MyVersion = "V7b"
OldVersion = MyVersion
Liefert auch für OldVersion "V8"
Alle Versuche genau auf die alte Version zuzugreifen, ergibt einen Laufzeitfehler 438 'Objekt unterstützt diese Eigenschaft oder Methode nicht!'
OldVersion = WBold.MyVersion
OldVersion = WBold.VBProject.MyVersion
OldVersion = WBold.VBProject.VBComponents("Modul1").MyVersion
. . .
Vielleicht kann mir ja jemand das Brett vorm Kopf wegreissen.
Vorab vielen Dank,
Martin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf Konstanten in anderem Modul
21.06.2005 16:08:14
Nepumuk
Hallo Martin,
Das geht so nicht. Denn Zugriff auf Konstanten in anderen Mappen könntest du nur bekommen, wenn du eine Verknüpfung zu der Mappe erstellst. Dazu muss die Konstante zudem explizit als öffentlich (Public) deklariert sein, was bei dir nicht der Fall zu sein scheint. Du musst also das Modul der Mappe nach dieser Konstanten durchsuchen. Hast du so etwas schon mal gemacht, oder brauchst du ein kleines Beispiel?
Gruß
Nepumuk
AW: Zugriff auf Konstanten in anderem Modul
21.06.2005 17:26:10
Martin
Hallo Nepumuk,
habe etwas mit CodeModule.Find und .Lines rumprobiert. Wird wohl mühsam, aber das werde ich wohl hinbekommen. Danke,
Martin
P.S.: So richtig elegant ist das aber auch nicht.
Anzeige
AW: Zugriff auf Konstanten in anderem Modul
21.06.2005 16:09:18
Matthias
Hallo Martin,
hast du keine Möglichkeit, den Code der alten Dateien zu ergänzen?

Const MyVersion = "V7b"
Function ShowMyVersion()
ShowMyVer = MyVersion
End Function

Dann könntest du die Version der Mappe mit Application.Run("AlteMappe.xls!ShowMyVersion") ermitteln.
Gruß Matthias
AW: Zugriff auf Konstanten in anderem Modul
21.06.2005 17:30:12
Martin
Hallo Matthias,
da der Datenimport auch automatisiert durch die Benutzer erfolgen soll, müsste ich die Routine erst über das VBE-Objekt erzeugen. Bevor ich den Code manipuliere, gehe ich lieber über CodePane.Find und .Lines.
Deinen Hinweis werde ich aber auf jeden Fall für zukünftige Projekte berücksichtigen.
Danke,
Martin
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige