Das Archiv des Excel-Forums

MsgBox-Schaltflächen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: MsgBox-Schaltflächen
von: Andi

Geschrieben am: 09.10.2003 13:54:07

Liebe Leute,

ich würde gern die Schaltflächen von MsgBoxen selbst-definiert beschriften.
Mein "VBA mit Excel"-Handbuch bietet mir nur Standard-Schaltflächen an (OK, Abbrechen, Ignorieren, etc.).

Gibt's da was?

Und wenn ja, wie sind dann die Rückgabewerte der Flächen definiert?
(Ja, ich weiss, immer nur eine Frage auf einmal, aber das gehört ja irgendwie zusammen)

Gruß & danke schon mal
Andi
Bild


Betrifft: AW: MsgBox-Schaltflächen
von: Willie
Geschrieben am: 09.10.2003 14:05:51

Schau mal in deiner Excel Hilfe F1 unter msgbox nach!
Da werden mehr Fragen auf einmal beantwortet, als du fragen
Stellen kannst! Die Hilfe darf man nicht unterschätzen!
Gruß
Willie


Bild


Betrifft: AW: MsgBox-Schaltflächen
von: Andi
Geschrieben am: 09.10.2003 14:19:01

Guter Tip, leider haben es sich die System-Administratoren in meiner Firma gespart, die Hilfedateien zu installieren :-(
Ich werd' das daheim an meinem Privatrechner weiterverfolgen und melde mich notfalls später nochmal.

Gruß
Andi


Bild


Betrifft: AW: MsgBox-Schaltflächen
von: Willie
Geschrieben am: 09.10.2003 14:20:35

Zeigt eine Meldung in einem Dialogfeld an und wartet darauf, daß der Benutzer auf eine Schaltfläche klickt. Es wird dann einen Wert vom Typ Integer
zurückgegeben, der anzeigt, auf welche Schaltfläche der Benutzer geklickt hat.

Syntax

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

Die Syntax der MsgBox-Funktion verwendet die folgenden benannten Argumente:

Teil Beschreibung
prompt Erforderlich. Ein Zeichenfolgenausdruck, der als Meldung im Dialogfeld erscheint. Die Maximallänge von prompt ist - je nach Breite der verwendeten Zeichen - etwa 1024 Zeichen. Wenn prompt aus mehreren Zeilen besteht, müssen Sie die Zeilen mit einem Wagenrücklaufzeichen (Chr(13)), einem Zeilenvorschubzeichen (Chr(10)) oder einer Kombination aus Wagenrücklaufzeichen und Zeilenvorschubzeichen (Chr(13) & Chr(10)) trennen.
buttons Optional. Ein numerischer Ausdruck, der der Summe der Werte entspricht, die Anzahl und Typ der anzuzeigenden Schaltflächen, die Art des zu verwendenden Symbols sowie die Standardschaltfläche und die Bindung des Dialogfeldes angeben. Wenn Sie buttons nicht angeben, ist der Standardwert 0.
title Optional. Ein Zeichenfolgenausdruck, der in der Titelleiste des Dialogfeldes angezeigt wird. Wenn Sie title nicht angeben, wird der Anwendungsname in der Titelleiste angezeigt.
helpfile Ein Zeichenfolgenausdruck, der die Hilfedatei mit der kontextbezogenen Hilfe für das Dialogfeld angibt. Wenn Sie helpfile angeben, müssen Sie auch context angeben.
context Optional. Ein numerischer Ausdruck mit der Hilfekontextkennung, die der Autor der Hilfe für das entsprechende Hilfethema gegeben hat. Wenn Sie context angeben, müssen Sie auch helpfile angeben.
Einstellungen

Das Argument buttons hat die folgenden Einstellungen:

Konstante Wert Beschreibung
vbOKOnly 0 Nur die Schaltfläche OK anzeigen.
VbOKCancel 1 Schaltflächen OK und Abbrechen anzeigen.
VbAbortRetryIgnore 2 Schaltflächen Abbruch, Wiederholen und Ignorieren anzeigen.
VbYesNoCancel 3 Schaltflächen Ja, Nein und Abbrechen anzeigen.
VbYesNo 4 Schaltflächen Ja und Nein anzeigen.
VbRetryCancel 5 Schaltflächen Wiederholen und Abbrechen anzeigen.
VbCritical 16 Meldung mit Stop-Symbol anzeigen.
VbQuestion 32 Meldung mit Fragezeichen-Symbol anzeigen.
VbExclamation 48 Meldung mit Ausrufezeichen-Symbol anzeigen.
VbInformation 64 Meldung mit Info-Symbol anzeigen.
VbDefaultButton1 0 Erste Schaltfläche ist Standardschaltfläche.
VbDefaultButton2 256 Zweite Schaltfläche ist Standardschaltfläche.
VbDefaultButton3 512 Dritte Schaltfläche ist Standardschaltfläche.
VbDefaultButton4 768 Vierte Schaltfläche ist Standardschaltfläche.
VbApplicationModal 0 An die Anwendung gebunden. Der Benutzer muß auf das Meldungsfeld reagieren, bevor er seine Arbeit mit der aktuellen Anwendung fortsetzen kann.
VbSystemModal 4096 An das System gebunden. Alle Anwendungen werden unterbrochen, bis der Benutzer auf das Meldungsfeld reagiert.
Die erste Gruppe von Werten (0 - 5) beschreibt die Anzahl und den Typ der im Dialogfeld angezeigten Schaltflächen. Die zweite Gruppe (16, 32, 48, 64) beschreibt die Symbolart. Die dritte Gruppe (0, 256, 512) legt die Standardschaltfläche fest. Die vierte Gruppe (0, 4096) legt fest, in welcher Form das Dialogfeld gebunden ist. Verwenden Sie beim Addieren der Zahlen zu einem Gesamtwert für das Argument buttons nur eine Zahl aus jeder Gruppe.

Anmerkung Diese Konstanten sind durch Visual Basic für Applikationen festgelegt. Daher können die Namen an einer beliebigen Stelle im Code anstelle der tatsächlichen Werte verwendet werden.

Rückgabewerte

Konstante Wert Beschreibung
vbOK 1 OK
vbCancel 2 Abbrechen
vbAbort 3 Abbruch
vbRetry 4 Wiederholen
vbIgnore 5 Ignorieren
vbYes 6 Ja
vbNo 7 Nein
Bemerkungen

Wenn sowohl helpfile als auch context angeben werden, kann der Benutzer F1 drücken, um das Hilfethema für context anzuzeigen. Einige Host-Anwendungen, zum Beispiel Microsoft Excel, fügen dem Dialogfeld automatisch die Schaltfläche Hilfe hinzu.
Wenn im Dialogfeld die Schaltfläche Abbrechen angezeigt wird, hat das Drücken von ESC dieselbe Wirkung wie das Klicken auf Abbrechen. Wird im Dialogfeld die Schaltfläche Hilfe angezeigt, wird für das Dialogfeld eine kontextbezogene Hilfe zur Verfügung gestellt. Ein Wert wird aber nur zurückgegeben, wenn auf eine der anderen Schaltflächen geklickt wird.

Anmerkung Wenn Sie außer dem ersten benannten Argument weitere Argumente angeben möchten, müssen Sie MsgBox in einem Ausdruck verwenden. Wenn Sie einige Argumente mit einer bestimmten Position nicht angeben möchten, müssen Sie dennoch das entsprechende Komma als Trennzeichen angeben.


Bild


Betrifft: AW: MsgBox-Schaltflächen
von: Andi
Geschrieben am: 09.10.2003 14:37:32

Hi Willie,

danke für den Hilfe-Auszug.
Wenn ich das richtig verstehe, kann man also die Schaltflächen nicht anders beschriften (z.B. "Alles klar" statt "OK")!?

Viele Grüße
Andi


Bild


Betrifft: AW: MsgBox-Schaltflächen
von: Felix
Geschrieben am: 09.10.2003 15:22:00

Nein, kann man nicht. Du könntest aber eine Userform benutzen...


Bild


Betrifft: AW: MsgBox-Schaltflächen
von: Andi
Geschrieben am: 09.10.2003 15:38:00

Stimmt, gute Idee!
Danke!


 Bild