Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

UserForm ohne Button mit [Esc] schließen

870 views
Skip to first unread message

Thomas Wiedmann

unread,
Mar 18, 2010, 7:59:45 AM3/18/10
to
Hallo,

bei einer UserForm, die lediglich ein Textfeld, aber keinen Button enthält,
möchte ich erreichen, daß sie mit [Esc] geschlossen wird.

Wie läßt sich dies in VBA 6 (ohne Button) realisieren?

Thomas

Christian Freßdorf

unread,
Mar 18, 2010, 8:25:52 AM3/18/10
to
Hallo Thomas,

das Kreuz zum schließen reicht nicht?

Dann z.B. mit dem KeyUp-Ereignis

Private Sub UserForm_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = BuildKeyCode(wdKeyEsc) Then Unload Me
End Sub

--
Gruß Christian
~~~~~~~~~~~~
Antworten / Rückmeldungen nur in die NG!
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)

Thomas Gahler

unread,
Mar 19, 2010, 3:27:07 AM3/19/10
to
Hallo Thomas


> bei einer UserForm, die lediglich ein Textfeld, aber keinen Button
> enthält, möchte ich erreichen, daß sie mit [Esc] geschlossen wird.

Ist das GUI-regeln konform und logisch für den Anwender?

--
Thomas Gahler


Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP3), Office XP (SP3)


Bernhard Sander

unread,
Mar 19, 2010, 5:30:55 AM3/19/10
to
Hallo Thomas,

> Ist das GUI-regeln konform und logisch für den Anwender?

Sinnierst Du grade über die Oberfläche von Office 2007/2010?

Gruß
Bernhard Sander

Thomas Wiedmann

unread,
Mar 22, 2010, 2:56:57 AM3/22/10
to
> Ist das GUI-regeln konform und logisch für den Anwender?
Ne, natürlich nicht - nur: der Anwender bin in diesem Fall nur ich.

Thomas Wiedmann

Thomas Wiedmann

unread,
Mar 23, 2010, 2:53:45 AM3/23/10
to
Ich hab die Function auf die TextBox angewandt und ein wenig modifiziert -
damit hats dann getan:

Private Sub tfInitial_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = vbKeyEscape Then Unload Me
End Sub

Danke f�r den Tip - er hat mich immerhin zur L�sung gef�hrt.

Thomas Wiedmann

Christian Freßdorf

unread,
Mar 23, 2010, 4:02:23 AM3/23/10
to
Hallo Thomas,

> Ich hab die Function auf die TextBox angewandt und ein wenig modifiziert -
> damit hats dann getan:

warum Textbox? Wegen des Fokus?

> Private Sub tfInitial_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
> Shift As Integer)

ich würde KeyDown möglichst vermeiden, da ein etwas zu langer Tastendruck
mehrere KeyDown u.U. auslösen kann.

Thomas Wiedmann

unread,
Mar 26, 2010, 2:49:32 AM3/26/10
to
>> Ich hab die Function auf die TextBox angewandt und ein wenig
>> modifiziert -
>> damit hats dann getan:
> warum Textbox? Wegen des Fokus?
Ne, aber bei UserForm hat's nicht getan (warum auch immer), und sonst hatte
ich nur die TextBox.


> ich w�rde KeyDown m�glichst vermeiden, da ein etwas zu langer Tastendruck
> mehrere KeyDown u.U. ausl�sen kann.
Danke - gut zu wissen.


Thomas Wiedmann

0 new messages