Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1664to1668
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

Public Const mit Klassen

Public Const mit Klassen
09.01.2019 18:51:42
sivcam
Hallo liebes Forum,
Ich versuche gerade "elegant" eine ganze Menge an Konstanten zu deklarieren. Es handelt sich immer um string und zu jeder Konstante gibt es eine auf Englisch und eine auf Deutsch.
Jetzt wollte ich ursprünglich meine Konstanten Public deklarieren und in einem Modul separat _ definieren (es werden viele werden...). Zum Beispiel mit

Public Const MatGruppe_b_DE       As String = "Werkstoffplatten"
Public Const MatGruppe_b_ENG      As String = "boards"

Da finde ich es schön übersichtlich später zum pflegen, allerdings ist es unschön zum ansprechen im späteren Code.
Daher wollte ich mit Klassen arbeiten und habe mir eine Klasse "CLS_Material" erstellt, die die Eigenschaften Deutsch (.strDE) und Englisch (.strENG) beinhaltet.
Das klappt separat auch gut. Dann kann ich eine Variable deklarieren:

Public MatGruppe_b as CLS_Material

Allerdings muss ich jetzt die Zuordnung der Werte in einer Prozedur machen:

MatGruppe_b.strDE = "Werkstoffplatte"
MatGruppe_b.strENG = "boards"

Gäbe es eine Möglichkeit diese Werte nun auch als Konstanten festzulegen, obwohl ich eine Klasse verwende?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Public Const mit Klassen
09.01.2019 19:14:12
Nepumuk
Hallo,
dazu benötigst du für jede Konstante eine Property Get Prozedur. Beispiel:
In der Klasse:
Option Explicit

Private Const MatGruppe_b_DE As String = "Werkstoffplatten"
Private Const MatGruppe_b_ENG As String = "boards"

Public Property Get strDE() As String
    strDE = MatGruppe_b_DE
End Property

Public Property Get strENG() As String
    strENG = MatGruppe_b_ENG
End Property

Und in einem Standardmodul:
Option Explicit

Public Sub Beispiel()
    Dim objMatGruppe_b As MatGruppe_b
    Set objMatGruppe_b = New MatGruppe_b
    MsgBox objMatGruppe_b.strDE
    MsgBox objMatGruppe_b.strENG
    Set objMatGruppe_b = Nothing
End Sub

Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige