Klammern bei Funktionen

07/02/2009 - 14:42 von Dietmar Thesing | Report spam
Hallo liebe ExpertInnen,

ich habe gerade folgende Zeile bei mir entdeckt:

Me!lstOZut.RowSource = fcGewOID

Die Funktion fcGewOID gibt einen String zurück. Aber sollten da in
korrekter Schreibweise nicht Klammern dahinter stehen (... =
fcGewOID() )? Es funktioniert anscheinend auch ohne.
Wenn ich so eine Funktion direkt einem Steuerelement zuweise, geht es
ohne Klammern nicht.

Hat eineR von Euch Lust, mir das mit den Klammern etwas genauer zu
erklàren?

Gruß
Dietmar
 

Lesen sie die antworten

#1 Thomas Möller
08/02/2009 - 10:24 | Warnen spam
Hallo Dietmar,

Dietmar Thesing schrieb:
ich habe gerade folgende Zeile bei mir entdeckt:

Me!lstOZut.RowSource = fcGewOID

Die Funktion fcGewOID gibt einen String zurück. Aber sollten da in
korrekter Schreibweise nicht Klammern dahinter stehen (... = fcGewOID()
)? Es funktioniert anscheinend auch ohne.
Wenn ich so eine Funktion direkt einem Steuerelement zuweise, geht es
ohne Klammern nicht.

Hat eineR von Euch Lust, mir das mit den Klammern etwas genauer zu
erklàren?



normalerweise sind für einen Funktionsaufruf die Klammern erforderlich.
Innerhalb der Klammern befinden sich die zu übergebenden Parameter. Wenn
jetzt keine Parameter zu übergeben sind, sind sie Klammern leer. VBA
akzeptiert in diesem Fall, auf die Klammern zu verzichten.


Warum das so ist, kann ich nur vermuten. Ich denke mal, dass VBA einfach
beide Wege, also mit und ohne Klammern, zulàsst, um es dem Anfànger
etwas einfacher zu machen.


Diese Vereinfachung tràgt aber IMHO nicht unbedingt zur Verstàndlichkeit
des VBA-Codes bei. Wenn Du z.B. folgende Zeile liest

X = Tralala

weißt Du nicht, um was handelt es sich hier bei "Tralala" handelt? Ist
es eine Variable? Oder ist es eine Funktion? Ohne weiteres ist der
Unterschied nicht erkennbar.


Bei folgender Zeile

X = Tralala()

ist hingegen klar, das hier der Variablen "X" der Rückgabewert der
Funktion "Tralala" zugewiesen wird.


CU
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen