AXp - Aufruf und Fehler in eigenem Menübefehl

29/11/2008 - 08:46 von Dietmar Thesing | Report spam
Hallo zusammen,
ich traue mich kaum das làppische Problem hier vorzustellen, zumal ich
eine Umgehung gefunden habe. Aber mich macht es nervös, wenn ich nicht
weiß, warum etwas passiert und vermutlich weiß jemand von Euch ein
bisschen mehr.

Ich habe eine eigene Menüleiste, die in mehreren Berichten verwendet
wird, mit zwei selbstdefinierten Befehlen, die ich unter
Eigenschaften/Bei Aktion per Hand eingetragen habe. Tippfehler kann
ich ausschließen.
Beides sind Public Subs (gewesen), die im selben Standardmodul liegen,
bei beiden hatte ich nur den Prozedurnamen in das Feld eingetragen:
subRepSchliessen bzw. subEtkRegDruck

Bei der einen bekomme ich nun unter Runtime/mde eine Fehlermeldung
"Kann das Makro oder... subEtkRegDruck nicht finden ...", wàhrend die
andere problemlos das tut, was sie soll. Außerdem wird der Fehler
nicht von meiner Fehlerbehandlung erfasst.

Wenn ich die nicht funktionierende Sub in eine Funktion umwandle und
sie mit Gleichheitszeichen und Klammern so
=fcEtkRegistDruck()
eintrage, funktioniert es.

Welchen für mich nicht erkennbaren Unterschied könnte es zwischen den
beiden Prozeduren geben?
Sollte man grundsàtzlich entweder Makros oder Funktionen für
benutzerdefinierte Menübefehle nehmen?
Wie kommt man mit seiner Fehlerbehandlung an so einen Fehler dran, der
ja nicht in einer Prozedur passiert? Die Fehlerbehandlung in
Report_Error springt dabei nicht an, aber die Runtime verabschiedet
sich auch nicht - was sie ja sonst bei unbehandelten Fehlern machen
würde.

Vielen Dank für Eure Hilfe
Dietmar
 

Lesen sie die antworten

#1 Thomas Möller
29/11/2008 - 09:04 | Warnen spam
Hallo Dietmar,

Dietmar Thesing schrieb:
Ich habe eine eigene Menüleiste, die in mehreren Berichten verwendet
wird, mit zwei selbstdefinierten Befehlen, die ich unter
Eigenschaften/Bei Aktion per Hand eingetragen habe. Tippfehler kann
ich ausschließen.
Beides sind Public Subs (gewesen), die im selben Standardmodul liegen,
bei beiden hatte ich nur den Prozedurnamen in das Feld eingetragen:
subRepSchliessen bzw. subEtkRegDruck

Bei der einen bekomme ich nun unter Runtime/mde eine Fehlermeldung
"Kann das Makro oder... subEtkRegDruck nicht finden ...", wàhrend die
andere problemlos das tut, was sie soll. Außerdem wird der Fehler
nicht von meiner Fehlerbehandlung erfasst.

Wenn ich die nicht funktionierende Sub in eine Funktion umwandle und
sie mit Gleichheitszeichen und Klammern so
=fcEtkRegistDruck()
eintrage, funktioniert es.
Welchen für mich nicht erkennbaren Unterschied könnte es zwischen den
beiden Prozeduren geben?



für den Aufruf aus einer Menüleiste benötigst Du eine Public Function.
Das ist einfach so.


Sollte man grundsàtzlich entweder Makros oder Funktionen für
benutzerdefinierte Menübefehle nehmen?



Nur diese beiden Varianten funktionieren. Von daher sollte man sie schon
verwenden. ;-)
Ich persönlich bevorzuge dabei VBA, weil ich dort mehr Möglichkeiten habe.


Wie kommt man mit seiner Fehlerbehandlung an so einen Fehler dran, der
ja nicht in einer Prozedur passiert?



IMHO gar nicht. Die Fehlerbehandlung bezieht sich ja auf VBA. Beim
Versuch, eine nicht vorhandene Function aus einem Menü auszuführen ist
noch kein VBA involviert.

Solche Fehler brauchst Du aber auch nicht abzufangen. Du testest ja
Deine Anwendung. Dabei fàllt Dir das auf und die nimmst Die notwendigen
Korrekturen vor.


CU
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen